[SR-Users] Kamailio $Rp variable showing wrong port

Giacomo Vacca giacomo.vacca at gmail.com
Thu Jun 24 19:12:59 CEST 2021


No worries Shahid,
mine wasn't really a suggestion for a fix, but I wanted to verify a
suspicion I had, since I saw a similar behaviour with a certain number of
listen directives for TCP sockets.

I did notice that, when Kamilio establishes a TCP connection, from a port
selected from the OS, e.g. 39235 in your example, responses or requests
received on that same connection, instead of showing 39235 for $Rp were
showing the port of the first listening TCP directive (e.g. 8080 in your
case, or 5060 once you swapped the listening directives).

I take this opportunity to ask the community whether this behaviour is
expected or a symptom of something that needs changing in the configuration
files or a bug.

Thanks,
Giacomo



On Thu, 24 Jun 2021 at 18:05, Shahid Hussain <shnx88 at gmail.com> wrote:

> Hi Giacomo,
>
> All of my required test cases are working fine with the combination you
> suggested along with configuring the NON VIP address in ds_default_socket
> parameter of dispatcher. I will test the regression suite on this and
> update if there is any issue.
>
> Thank you for your suggestion. Thanks  Daniel  as well for looking into
> this issue.
>
> However I would still be curious to know what was the root cause, how the
> previous combination was taking us into strange issues where Kamailio was
> assuming 8080 as Received port. Is it not based on where the OPTION
> response arrived ?
>
> Thanks & Regards,
> Shahid
>
> On Thu, Jun 24, 2021 at 7:39 PM Giacomo Vacca <giacomo.vacca at gmail.com>
> wrote:
>
>> Hi Shahid,
>>
>> > This system also listens on port 8080 which is meant for websocket
>> communication [...]
>> > [...] but Kamailio considering the response is on websocket port 8080
>> ,$Rp value is 8080
>>
>> Do you see the same behaviour if you set the listen directive for SIP
>> before the one for WS, in kamailio.cfg?
>> i.e.
>>
>> listen=tcp:172.27.45.219:5060 advertise 172.27.45.198:5060
>>
>> before
>>
>> listen=tcp:172.27.45.219:MY_WS_PORT
>>
>> ?
>>
>> Thanks,
>> Giacomo
>>
>>
>>
>>
>>
>>
>>
>>
>> On Thu, 24 Jun 2021 at 15:28, Shahid Hussain <shnx88 at gmail.com> wrote:
>>
>>> Hi Daniel,
>>> Sure, please check as per your availability.
>>> I had tried the above option before adding ds_default socket in kamailio
>>> .cfg but the result was same.  Now also I have tried, but still kamailio is
>>> declaring 8080 as received port .
>>> Following is the dispatcher configuration I have tried now.
>>> root at localhost ~]# kamcmd dispatcher.list
>>> {
>>>         NRSETS: 1
>>>         RECORDS: {
>>>                 SET: {
>>>                         ID: 1
>>>                         TARGETS: {
>>>                                 DEST: {
>>>                                         URI: sip:172.27.44.125:5060
>>> ;transport=tcp
>>>                                         FLAGS: AP
>>>                                         PRIORITY: 0
>>>                                         ATTRS: {
>>>                                                 BODY:
>>> duid=sample-cas;maxload=1000;socket=tcp:172.27.45.219:5060
>>>                                                 DUID: sample-cas
>>>                                                 MAXLOAD: 1000
>>>                                                 WEIGHT: 0
>>>                                                 RWEIGHT: 0
>>>                                                 SOCKET: tcp:
>>> 172.27.45.219:5060
>>>                                         }
>>>                                         LATENCY: {
>>>                                                 AVG: 3.750000
>>>                                                 STD: 1.500000
>>>                                                 EST: 3.750000
>>>                                                 MAX: 6
>>>                                                 TIMEOUT: 0
>>>                                         }
>>>                                         RUNTIME: {
>>>                                                 DLGLOAD: 0
>>>                                         }
>>>                                 }
>>>                         }
>>>                 }
>>>         }
>>> }
>>>
>>> Jun 24 21:29:57 localhost /usr/sbin/kamailio[5169]: WARNING: {2 10
>>> OPTIONS 0f80e2d95e09aca5-5158 at 172.27.45.198} <script>: SIP response
>>> received on 8080 protocol:tcp  RIP:172.27.45.219 SIP:172.27.44.125
>>> method:OPTIONS cid:0f80e2d95e09aca5-5158 at 172.27.45.198 replystatus:200
>>> len:416
>>>
>>> On Thu, Jun 24, 2021 at 6:25 PM Daniel-Constantin Mierla <
>>> miconda at gmail.com> wrote:
>>>
>>>> Hello,
>>>>
>>>> I will check the logs once I finish a few other tasks.
>>>>
>>>> Meanwhile, maybe you can try to set the socket per destination to see
>>>> if it makes any difference, like
>>>>
>>>> 1 sip:172.27.44.125:5060;transport=tcp 0 0
>>>> duid=sample-cas;maxload=1000;*socket=tcp:172.27.45.219:5060
>>>> <http://172.27.45.219:5060>*
>>>>
>>>> Cheers,
>>>> Daniel
>>>>
>>>>
>>>> On 24.06.21 12:48, Shahid Hussain wrote:
>>>>
>>>> Hi Daniel,
>>>> Please find the debug logs attached. You can refer OPTION message of
>>>> timestamp 18:43:35 though there are multiple request.
>>>>
>>>> There is a line in log says tcp worker on 8080 though I have not
>>>> specified in kamailio.cfg.
>>>> Jun 24 18:43:35 localhost kamailio: 44(11820) DEBUG: <core>
>>>> [core/tcp_main.c:4517]: handle_tcpconn_ev(): sending to child, events 1
>>>> Jun 24 18:43:35 localhost kamailio: 44(11820) DEBUG: <core>
>>>> [core/tcp_main.c:4190]: send2child(): selected tcp worker idx:6 proc:42
>>>> pid:11818 for activity on [tcp:172.27.45.219:8080], 0x7fca749c2d60
>>>>
>>>> Attached kamailio.cfg also.
>>>>
>>>> On Thu, Jun 24, 2021 at 3:31 PM Daniel-Constantin Mierla <
>>>> miconda at gmail.com> wrote:
>>>>
>>>>> Hello,
>>>>>
>>>>> can you set debug=3 in kamailio.cfg and then reproduce the case and
>>>>> send here all the syslog message printed by kamailio?
>>>>>
>>>>> Cheers,
>>>>> Daniel
>>>>> On 24.06.21 11:37, Shahid Hussain wrote:
>>>>>
>>>>> Hi  Daniel,
>>>>> Attaching the filtered  pcap with response for an OPTION message.
>>>>> I am also attaching the all pcap with no filter having all SIP
>>>>> messages being communicated, there is no data coming on port 8080.
>>>>>
>>>>> Regards,
>>>>> Shahid
>>>>>
>>>>> On Thu, Jun 24, 2021 at 1:21 PM Daniel-Constantin Mierla <
>>>>> miconda at gmail.com> wrote:
>>>>>
>>>>>> Hello,
>>>>>>
>>>>>> the pcap shows only the OPTIONS requests, not the replies. Maybe you
>>>>>> have to capture the traffic also on 8080 to catch it. It would important to
>>>>>> see the reply and where it is sent back to kamailio.
>>>>>>
>>>>>> Cheers,
>>>>>> Daniel
>>>>>> On 24.06.21 09:24, Shahid Hussain wrote:
>>>>>>
>>>>>> Hi,
>>>>>> I have configured the dispatcher default socket as below IP , the
>>>>>> expectation here is that kamailio should send all traffic from this IP
>>>>>> (port will be ephemeral) over TCP.
>>>>>> modparam("dispatcher", "ds_default_socket", "tcp:172.27.45.219:5060")
>>>>>>
>>>>>> This system also listens on port 8080 which is meant for websocket
>>>>>> communication (dispatcher communication is over non websocket).
>>>>>>
>>>>>> Kamailio is sending an OPTION message to dispatcher IP over TCP on
>>>>>> 5060 and getting 200 OK response but Kamailio considering the response is
>>>>>> on websocket port 8080 ,$Rp value is 8080.
>>>>>>
>>>>>> onreply_route {
>>>>>>      if (($Rp == 8080 ) && !(proto == WS))
>>>>>>         {
>>>>>>                 xlog("L_WARN", "SIP response received on $Rp
>>>>>> protocol:proto RIP:$Ri SIP:$si method:$rm cid:$ci replystatus:$rs
>>>>>> len:$ml\n");
>>>>>>                 xlog("L_WARN", "SIP message received: $mb\n");
>>>>>>                 drop;
>>>>>>         }
>>>>>>
>>>>>> .....
>>>>>> ....
>>>>>> }
>>>>>>
>>>>>> Following is the output of above logs:
>>>>>> Jun 24 15:10:08 localhost /usr/sbin/kamailio[6223]: WARNING: {2 10
>>>>>> OPTIONS 1ab6573a4640823b-6209 at 172.27.45.198} <script>: SIP response
>>>>>> received on 8080 protocol:tcp  RIP:172.27.45.219 SIP:172.27.44.125
>>>>>> method:OPTIONS cid:1ab6573a4640823b-6209 at 172.27.45.198
>>>>>> replystatus:200 len:416
>>>>>>
>>>>>> Jun 24 15:10:08 localhost /usr/sbin/kamailio[6223]: WARNING: {2 10
>>>>>> OPTIONS 1ab6573a4640823b-6209 at 172.27.45.198} <script>: SIP message
>>>>>> received: SIP/2.0 200 OK#015#012Via: SIP/2.0/TCP 172.27.45.198:5060;branch=z9hG4bK4526.92b79f34000000000000000000000000.0;received=172.27.45.219#015#012From:
>>>>>> <sip:dispatcher at localhost>;tag=1ae6c95d92f9ea9ce927f715de5c48c8-eb141029#015#012To:
>>>>>> <sip:172.27.44.125:5060;transport=tcp>;tag=a9d542e0#015#012Call-ID:
>>>>>> 1ab6573a4640823b-6209 at 172.27.45.198#015#012CSeq
>>>>>> <http://1ab6573a4640823b-6209@172.27.45.198#015%23012CSeq>: 10
>>>>>> OPTIONS#015#012Allow: INVITE, ACK, BYE, OPTIONS, CANCEL, INFO, UPDATE,
>>>>>> NOTIFY#015#012Content-Length: 0
>>>>>>
>>>>>>
>>>>>> Also I have attached a pcap.
>>>>>>
>>>>>> Dispatcher.list configuration:
>>>>>> 1 sip:172.27.44.125:5060;transport=tcp 0 0
>>>>>> duid=sample-cas;maxload=1000
>>>>>>
>>>>>> Thanks,
>>>>>> Shahid
>>>>>>
>>>>>> __________________________________________________________
>>>>>> Kamailio - Users Mailing List - Non Commercial Discussions
>>>>>>   * sr-users at lists.kamailio.org
>>>>>> Important: keep the mailing list in the recipients, do not reply only to the sender!
>>>>>> Edit mailing list options or unsubscribe:
>>>>>>   * https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>>>>>
>>>>>> --
>>>>>> Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- www.linkedin.com/in/miconda
>>>>>>
>>>>>> --
>>>>> Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- www.linkedin.com/in/miconda
>>>>>
>>>>> --
>>>> Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- www.linkedin.com/in/miconda
>>>>
>>>> __________________________________________________________
>>> Kamailio - Users Mailing List - Non Commercial Discussions
>>>   * sr-users at lists.kamailio.org
>>> Important: keep the mailing list in the recipients, do not reply only to
>>> the sender!
>>> Edit mailing list options or unsubscribe:
>>>   * https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>>
>> __________________________________________________________
>> Kamailio - Users Mailing List - Non Commercial Discussions
>>   * sr-users at lists.kamailio.org
>> Important: keep the mailing list in the recipients, do not reply only to
>> the sender!
>> Edit mailing list options or unsubscribe:
>>   * https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>
> __________________________________________________________
> Kamailio - Users Mailing List - Non Commercial Discussions
>   * sr-users at lists.kamailio.org
> Important: keep the mailing list in the recipients, do not reply only to
> the sender!
> Edit mailing list options or unsubscribe:
>   * https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20210624/0af67f45/attachment.htm>


More information about the sr-users mailing list