[OpenSIPS-Users] ACK Routing Issue
Mark Farmer
farmorg at gmail.com
Fri Jun 5 15:18:16 EST 2020
Thanks Diptesh, that seems to have fixed it! :)
Many thanks!
Mark.
On Fri, 5 Jun 2020 at 14:47, Diptesh Patel <diptesh.patel at ecosmob.com>
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 <farmorg at gmail.com> 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:+44XXXXXXXXXX at 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: <sip:+441204860410 at PUB.LIC.IP.ADDR;user=phone>;tag=gK0c801c8d
>> To: <sip:+44XXXXXXXXXX at 147.152.17.42>;tag=3800350621-1224267434
>> Call-ID: 543691539-3800350621-1514620980 at 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 <diptesh.patel at 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 <farmorg at 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 at 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 at lists.opensips.org
>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>>
>>
>>
>> --
>> Mark Farmer
>> farmorg at gmail.com
>> _______________________________________________
>> Users mailing list
>> Users at 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 at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
--
Mark Farmer
farmorg at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20200605/9db8422a/attachment-0001.html>
More information about the Users
mailing list