[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