Re: [OpenSIPS-Users] ACK Routing Issue
Thanks Diptesh, that seems to have fixed it! :) Many thanks! Mark. On Fri, 5 Jun 2020 at 14:47, Diptesh Patel wrote: > Hello Mark, > > You need to modify your script. Let me explain to you how topology > hiding works. If you're using topology hiding then we are hiding the > information from the other node right? So the topology hiding stores your > next hop information. When you call topology_hiding_match() then it will > replace the request uri with the next hop. So you need to use > topology_hiding_match() on every within dialog request(sequential > requests), otherwise it will create looping. > > you can check the following snippet which i modified. It helps you !! > > if (has_totag()) { > xlog("CUSTOM_LOG: in-dialog $rm has message flags: $mf and branch > flags: $bf"); > #Set correct SIP User-Agent Header > if (remove_hf("User-Agent")) { > xlog("CUSTOM_LOG: Setting SIP User-Agent on In-Dialog Request"); > insert_hf("User-Agent: OpenSIPS\r\n"); > } > # handle hop-by-hop ACK (no routing required) > if ( is_method("ACK") && t_check_trans() ) { > xlog("CUSTOM_LOG: ACK detected with valid transaction - t_relay"); > t_relay(); > exit; > } > if (topology_hiding_match()) { > ##TH match and relay all the within dialog packets. > t_relay(); > exit; > } else { > xlog("CUSTOM_LOG: cannot match request to a dialog \n"); > send_reply(404,"Not found"); > exit; > } > } > > > Thanks & Regards > *Diptesh Patel* > Software Developer > Ecosmob Technologies Ltd, > Ahmedabad > Mo:*+919898962659* > > > On Fri, Jun 5, 2020 at 6:37 PM Mark Farmer wrote: > >> Thanks Diptesh >> >> I'm using topology hiding, so now I have this: >> >> if (has_totag()) { >> xlog("CUSTOM_LOG: in-dialog $rm has message flags: $mf >> and branch flags: $bf"); >> >> #Set correct SIP User-Agent Header >> if (remove_hf("User-Agent")) { >> xlog("CUSTOM_LOG: Setting SIP User-Agent on In-Dialog >> Request"); >> insert_hf("User-Agent: OpenSIPS\r\n"); >> } >> >> if (!topology_hiding_match() ) { >> xlog("CUSTOM_LOG: cannot match request to a >> dialog \n"); >> send_reply(404,"Not found"); >> } >> >> # handle hop-by-hop ACK (no routing required) >> if ( is_method("ACK") && t_check_trans() ) { >> xlog("CUSTOM_LOG: ACK detected with valid >> transaction - t_relay"); >> t_relay(); >> exit; >> } >> >> I don't see a 404 going out so I think topology_hiding_match is working. >> But it tries to send the ACK to itself on it's private interface (I have >> mhomed=1). >> >> ACK sip:+44XX@10.150.50.72;did=e07.595f3776 SIP/2.0 >> Via: SIP/2.0/UDP PUB.LIC.IP.ADDR:5060;branch=z9hG4bKc219.d1f5b08.2 >> From: ;tag=gK0c801c8d >> To: ;tag=3800350621-1224267434 >> Call-ID: 543691539-3800350621-1514620...@sbc-uk-bs13b.uk.sdin.bt.net >> CSeq: 202841 ACK >> Max-Forwards: 69 >> Content-Length: 0 >> >> Best regards >> Mark. >> >> >> On Fri, 5 Jun 2020 at 13:03, Diptesh Patel >> wrote: >> >>> Hello Mark, >>> >>> Are you using Topology Hiding or Loose Routing? >>> >>> If you are using Topology Hiding then you need to match the topology >>> using *topology_hiding_match()* first. >>> >>> It is great if you can share SIP packets. >>> >>> Thanks & Regards >>> *Diptesh Patel* >>> Software Developer >>> Ecosmob Technologies Ltd, >>> Ahmedabad >>> Mo:*+919898962659* >>> >>> >>> On Fri, Jun 5, 2020 at 5:00 PM Mark Farmer wrote: >>> Hi everyone I've upgraded an OpenSIPS box to 3.1 and am now seeing an issue with ACK's trying to route to an incorrect IP - in this case our own advertised IP. I think I'm right in saying that PRACK's & ACK's are treated equally and should route in the same manner? However, PRACK's are routing correctly. I have this: if (has_totag()) { --- # handle hop-by-hop ACK (no routing required) #if ( is_method("ACK") && t_check_trans() ) { if (is_method("ACK")) { t_relay(); exit; } --- Thanks for any ideas! Mark. ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users >>> >>> *Disclaimer* >>> In addition to generic Disclaimer which you have agreed on our website, >>> any views or opinions presented in this email are solely those of the >>> originator and do not necessarily represent those of the Company or its >>> sister concerns. Any liability (in negligence, contract or oth
Re: [OpenSIPS-Users] ACK Routing Issue
Hello Mark, You need to modify your script. Let me explain to you how topology hiding works. If you're using topology hiding then we are hiding the information from the other node right? So the topology hiding stores your next hop information. When you call topology_hiding_match() then it will replace the request uri with the next hop. So you need to use topology_hiding_match() on every within dialog request(sequential requests), otherwise it will create looping. you can check the following snippet which i modified. It helps you !! if (has_totag()) { xlog("CUSTOM_LOG: in-dialog $rm has message flags: $mf and branch flags: $bf"); #Set correct SIP User-Agent Header if (remove_hf("User-Agent")) { xlog("CUSTOM_LOG: Setting SIP User-Agent on In-Dialog Request"); insert_hf("User-Agent: OpenSIPS\r\n"); } # handle hop-by-hop ACK (no routing required) if ( is_method("ACK") && t_check_trans() ) { xlog("CUSTOM_LOG: ACK detected with valid transaction - t_relay"); t_relay(); exit; } if (topology_hiding_match()) { ##TH match and relay all the within dialog packets. t_relay(); exit; } else { xlog("CUSTOM_LOG: cannot match request to a dialog \n"); send_reply(404,"Not found"); exit; } } Thanks & Regards *Diptesh Patel* Software Developer Ecosmob Technologies Ltd, Ahmedabad Mo:*+919898962659* On Fri, Jun 5, 2020 at 6:37 PM Mark Farmer wrote: > Thanks Diptesh > > I'm using topology hiding, so now I have this: > > if (has_totag()) { > xlog("CUSTOM_LOG: in-dialog $rm has message flags: $mf and > branch flags: $bf"); > > #Set correct SIP User-Agent Header > if (remove_hf("User-Agent")) { > xlog("CUSTOM_LOG: Setting SIP User-Agent on In-Dialog > Request"); > insert_hf("User-Agent: OpenSIPS\r\n"); > } > > if (!topology_hiding_match() ) { > xlog("CUSTOM_LOG: cannot match request to a dialog > \n"); > send_reply(404,"Not found"); > } > > # handle hop-by-hop ACK (no routing required) > if ( is_method("ACK") && t_check_trans() ) { > xlog("CUSTOM_LOG: ACK detected with valid > transaction - t_relay"); > t_relay(); > exit; > } > > I don't see a 404 going out so I think topology_hiding_match is working. > But it tries to send the ACK to itself on it's private interface (I have > mhomed=1). > > ACK sip:+44XX@10.150.50.72;did=e07.595f3776 SIP/2.0 > Via: SIP/2.0/UDP PUB.LIC.IP.ADDR:5060;branch=z9hG4bKc219.d1f5b08.2 > From: ;tag=gK0c801c8d > To: ;tag=3800350621-1224267434 > Call-ID: 543691539-3800350621-1514620...@sbc-uk-bs13b.uk.sdin.bt.net > CSeq: 202841 ACK > Max-Forwards: 69 > Content-Length: 0 > > Best regards > Mark. > > > On Fri, 5 Jun 2020 at 13:03, Diptesh Patel > wrote: > >> Hello Mark, >> >> Are you using Topology Hiding or Loose Routing? >> >> If you are using Topology Hiding then you need to match the topology >> using *topology_hiding_match()* first. >> >> It is great if you can share SIP packets. >> >> Thanks & Regards >> *Diptesh Patel* >> Software Developer >> Ecosmob Technologies Ltd, >> Ahmedabad >> Mo:*+919898962659* >> >> >> On Fri, Jun 5, 2020 at 5:00 PM Mark Farmer wrote: >> >>> Hi everyone >>> >>> I've upgraded an OpenSIPS box to 3.1 and am now seeing an issue with >>> ACK's trying to route to an incorrect IP - in this case our own advertised >>> IP. >>> >>> I think I'm right in saying that PRACK's & ACK's are treated equally and >>> should route in the same manner? However, PRACK's are routing correctly. >>> >>> I have this: >>> >>> if (has_totag()) { >>> --- >>> >>> # handle hop-by-hop ACK (no routing required) >>> #if ( is_method("ACK") && t_check_trans() ) { >>> if (is_method("ACK")) { >>> t_relay(); >>> exit; >>> } >>> --- >>> >>> Thanks for any ideas! >>> Mark. >>> >>> >>> ___ >>> Users mailing list >>> Users@lists.opensips.org >>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >>> >> >> *Disclaimer* >> In addition to generic Disclaimer which you have agreed on our website, >> any views or opinions presented in this email are solely those of the >> originator and do not necessarily represent those of the Company or its >> sister concerns. Any liability (in negligence, contract or otherwise) >> arising from any third party taking any action, or refraining from taking >> any action on the basis of any of the information contained in this email >> is hereby excluded. >> >> *Confidentiality* >> This communication (including any attachment/s) is intended only for the >> use of the addressee(s) and conta
Re: [OpenSIPS-Users] ACK Routing Issue
Call record route on initial invite. Outlook voor iOS<https://aka.ms/o0ukef> downloaden Van: Users namens Mark Farmer Verzonden: Friday, June 5, 2020 3:05:42 PM Aan: OpenSIPS users mailling list Onderwerp: Re: [OpenSIPS-Users] ACK Routing Issue Thanks Diptesh I'm using topology hiding, so now I have this: if (has_totag()) { xlog("CUSTOM_LOG: in-dialog $rm has message flags: $mf and branch flags: $bf"); #Set correct SIP User-Agent Header if (remove_hf("User-Agent")) { xlog("CUSTOM_LOG: Setting SIP User-Agent on In-Dialog Request"); insert_hf("User-Agent: OpenSIPS\r\n"); } if (!topology_hiding_match() ) { xlog("CUSTOM_LOG: cannot match request to a dialog \n"); send_reply(404,"Not found"); } # handle hop-by-hop ACK (no routing required) if ( is_method("ACK") && t_check_trans() ) { xlog("CUSTOM_LOG: ACK detected with valid transaction - t_relay"); t_relay(); exit; } I don't see a 404 going out so I think topology_hiding_match is working. But it tries to send the ACK to itself on it's private interface (I have mhomed=1). ACK sip:+44XX@10.150.50.72<mailto:sip%3A%2B44XX@10.150.50.72>;did=e07.595f3776 SIP/2.0 Via: SIP/2.0/UDP PUB.LIC.IP.ADDR:5060;branch=z9hG4bKc219.d1f5b08.2 From: ;tag=gK0c801c8d To: mailto:sip%3A%2B44XX@147.152.17.42>>;tag=3800350621-1224267434 Call-ID: 543691539-3800350621-1514620...@sbc-uk-bs13b.uk.sdin.bt.net<mailto:543691539-3800350621-1514620...@sbc-uk-bs13b.uk.sdin.bt.net> CSeq: 202841 ACK Max-Forwards: 69 Content-Length: 0 Best regards Mark. On Fri, 5 Jun 2020 at 13:03, Diptesh Patel mailto:diptesh.pa...@ecosmob.com>> wrote: Hello Mark, Are you using Topology Hiding or Loose Routing? If you are using Topology Hiding then you need to match the topology using topology_hiding_match() first. It is great if you can share SIP packets. Thanks & Regards Diptesh Patel Software Developer Ecosmob Technologies Ltd, Ahmedabad Mo:+919898962659 On Fri, Jun 5, 2020 at 5:00 PM Mark Farmer mailto:farm...@gmail.com>> wrote: Hi everyone I've upgraded an OpenSIPS box to 3.1 and am now seeing an issue with ACK's trying to route to an incorrect IP - in this case our own advertised IP. I think I'm right in saying that PRACK's & ACK's are treated equally and should route in the same manner? However, PRACK's are routing correctly. I have this: if (has_totag()) { --- # handle hop-by-hop ACK (no routing required) #if ( is_method("ACK") && t_check_trans() ) { if (is_method("ACK")) { t_relay(); exit; } --- Thanks for any ideas! Mark. ___ Users mailing list Users@lists.opensips.org<mailto:Users@lists.opensips.org> http://lists.opensips.org/cgi-bin/mailman/listinfo/users Disclaimer In addition to generic Disclaimer which you have agreed on our website, any views or opinions presented in this email are solely those of the originator and do not necessarily represent those of the Company or its sister concerns. Any liability (in negligence, contract or otherwise) arising from any third party taking any action, or refraining from taking any action on the basis of any of the information contained in this email is hereby excluded. Confidentiality This communication (including any attachment/s) is intended only for the use of the addressee(s) and contains information that is PRIVILEGED AND CONFIDENTIAL. Unauthorized reading, dissemination, distribution, or copying of this communication is prohibited. Please inform originator if you have received it in error. Caution for viruses, malware etc. This communication, including any attachments, may not be free of viruses, trojans, similar or new contaminants/malware, interceptions or interference, and may not be compatible with your systems. You shall carry out virus/malware scanning on your own before opening any attachment to this e-mail. The sender of this e-mail and Company including its sister concerns shall not be liable for any damage that may incur to you as a result of viruses, incompleteness of this message, a delay in receipt of this message or any other computer problems. ___ Users mailing list Users@lists.opensips.org<mailto:Users@lists.opensips.org> http://lists.opensips.org/cgi-bin/mailman/listinfo/users -- Mark Farmer farm...@gmail.com<mailto:farm...@gmail.com> ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] ACK Routing Issue
Thanks Diptesh I'm using topology hiding, so now I have this: if (has_totag()) { xlog("CUSTOM_LOG: in-dialog $rm has message flags: $mf and branch flags: $bf"); #Set correct SIP User-Agent Header if (remove_hf("User-Agent")) { xlog("CUSTOM_LOG: Setting SIP User-Agent on In-Dialog Request"); insert_hf("User-Agent: OpenSIPS\r\n"); } if (!topology_hiding_match() ) { xlog("CUSTOM_LOG: cannot match request to a dialog \n"); send_reply(404,"Not found"); } # handle hop-by-hop ACK (no routing required) if ( is_method("ACK") && t_check_trans() ) { xlog("CUSTOM_LOG: ACK detected with valid transaction - t_relay"); t_relay(); exit; } I don't see a 404 going out so I think topology_hiding_match is working. But it tries to send the ACK to itself on it's private interface (I have mhomed=1). ACK sip:+44XX@10.150.50.72;did=e07.595f3776 SIP/2.0 Via: SIP/2.0/UDP PUB.LIC.IP.ADDR:5060;branch=z9hG4bKc219.d1f5b08.2 From: ;tag=gK0c801c8d To: ;tag=3800350621-1224267434 Call-ID: 543691539-3800350621-1514620...@sbc-uk-bs13b.uk.sdin.bt.net CSeq: 202841 ACK Max-Forwards: 69 Content-Length: 0 Best regards Mark. On Fri, 5 Jun 2020 at 13:03, Diptesh Patel wrote: > Hello Mark, > > Are you using Topology Hiding or Loose Routing? > > If you are using Topology Hiding then you need to match the topology using > *topology_hiding_match()* first. > > It is great if you can share SIP packets. > > Thanks & Regards > *Diptesh Patel* > Software Developer > Ecosmob Technologies Ltd, > Ahmedabad > Mo:*+919898962659* > > > On Fri, Jun 5, 2020 at 5:00 PM Mark Farmer wrote: > >> Hi everyone >> >> I've upgraded an OpenSIPS box to 3.1 and am now seeing an issue with >> ACK's trying to route to an incorrect IP - in this case our own advertised >> IP. >> >> I think I'm right in saying that PRACK's & ACK's are treated equally and >> should route in the same manner? However, PRACK's are routing correctly. >> >> I have this: >> >> if (has_totag()) { >> --- >> >> # handle hop-by-hop ACK (no routing required) >> #if ( is_method("ACK") && t_check_trans() ) { >> if (is_method("ACK")) { >> t_relay(); >> exit; >> } >> --- >> >> Thanks for any ideas! >> Mark. >> >> >> ___ >> Users mailing list >> Users@lists.opensips.org >> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >> > > *Disclaimer* > In addition to generic Disclaimer which you have agreed on our website, > any views or opinions presented in this email are solely those of the > originator and do not necessarily represent those of the Company or its > sister concerns. Any liability (in negligence, contract or otherwise) > arising from any third party taking any action, or refraining from taking > any action on the basis of any of the information contained in this email > is hereby excluded. > > *Confidentiality* > This communication (including any attachment/s) is intended only for the > use of the addressee(s) and contains information that is PRIVILEGED AND > CONFIDENTIAL. Unauthorized reading, dissemination, distribution, or copying > of this communication is prohibited. Please inform originator if you have > received it in error. > > *Caution for viruses, malware etc.* > This communication, including any attachments, may not be free of viruses, > trojans, similar or new contaminants/malware, interceptions or > interference, and may not be compatible with your systems. You shall carry > out virus/malware scanning on your own before opening any attachment to > this e-mail. The sender of this e-mail and Company including its sister > concerns shall not be liable for any damage that may incur to you as a > result of viruses, incompleteness of this message, a delay in receipt of > this message or any other computer problems. > ___ > Users mailing list > Users@lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > -- Mark Farmer farm...@gmail.com ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] ACK Routing Issue
Hello Mark, Are you using Topology Hiding or Loose Routing? If you are using Topology Hiding then you need to match the topology using *topology_hiding_match()* first. It is great if you can share SIP packets. Thanks & Regards *Diptesh Patel* Software Developer Ecosmob Technologies Ltd, Ahmedabad Mo:*+919898962659* On Fri, Jun 5, 2020 at 5:00 PM Mark Farmer wrote: > Hi everyone > > I've upgraded an OpenSIPS box to 3.1 and am now seeing an issue with ACK's > trying to route to an incorrect IP - in this case our own advertised IP. > > I think I'm right in saying that PRACK's & ACK's are treated equally and > should route in the same manner? However, PRACK's are routing correctly. > > I have this: > > if (has_totag()) { > --- > > # handle hop-by-hop ACK (no routing required) > #if ( is_method("ACK") && t_check_trans() ) { > if (is_method("ACK")) { > t_relay(); > exit; > } > --- > > Thanks for any ideas! > Mark. > > > ___ > Users mailing list > Users@lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > -- *Disclaimer* In addition to generic Disclaimer which you have agreed on our website, any views or opinions presented in this email are solely those of the originator and do not necessarily represent those of the Company or its sister concerns. Any liability (in negligence, contract or otherwise) arising from any third party taking any action, or refraining from taking any action on the basis of any of the information contained in this email is hereby excluded. *Confidentiality* This communication (including any attachment/s) is intended only for the use of the addressee(s) and contains information that is PRIVILEGED AND CONFIDENTIAL. Unauthorized reading, dissemination, distribution, or copying of this communication is prohibited. Please inform originator if you have received it in error. *Caution for viruses, malware etc.* This communication, including any attachments, may not be free of viruses, trojans, similar or new contaminants/malware, interceptions or interference, and may not be compatible with your systems. You shall carry out virus/malware scanning on your own before opening any attachment to this e-mail. The sender of this e-mail and Company including its sister concerns shall not be liable for any damage that may incur to you as a result of viruses, incompleteness of this message, a delay in receipt of this message or any other computer problems. ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
[OpenSIPS-Users] ACK Routing Issue
Hi everyone I've upgraded an OpenSIPS box to 3.1 and am now seeing an issue with ACK's trying to route to an incorrect IP - in this case our own advertised IP. I think I'm right in saying that PRACK's & ACK's are treated equally and should route in the same manner? However, PRACK's are routing correctly. I have this: if (has_totag()) { --- # handle hop-by-hop ACK (no routing required) #if ( is_method("ACK") && t_check_trans() ) { if (is_method("ACK")) { t_relay(); exit; } --- Thanks for any ideas! Mark. ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users