[SR-Users] Kamailio IMS - Handling 2 SIP transports in an IMS client

Haggerty, Paul (phaggert) phaggert at harris.com
Mon May 1 16:08:48 CEST 2017


Hi,



Our client registers with the IMS core using UDP but uses TCP when the  packet size is over 1300 bytes. When the client sends the TCP reques, the  PCSCF replies with 403 Forbidden "you need to reg with the  SCSCF"

We've traced this back to the code in the PCSCF and it looks like it is  checking  the via headers and the received ip/port combinations for a match. The  actual  contact header looks like it matches the registered client.



Question is what do we need to do in the client to ensure that the PCSCF  recognizes the request  as one from a registered client?



We've tried the config options is_registered_fallback2ip ,  ignore_contact_rxport_check  and they don't seem to be used.



I'm attaching a network trace and included here are some debug messages from the PCSCF. In the network trace the client is 10.8.0.6.



PCSCF Trace messages -------------------------------------------

34207) DEBUG: ims_registrar_pcscf [service_routes.c:208]: getContactP():

This is a request - using first via to find contact

10(34207) DEBUG: ims_registrar_pcscf [service_routes.c:216]:

getContactP(): searching for contact with host:port:proto contact  [2://10.8.0.6:49946]

10(34207) DEBUG: ims_usrloc_pcscf [udomain.c:457]: get_pcontact():

Searching for contact with AOR

[sip:mcpttuser1 at 10.8.0.6:44580;ob;alias=10.8.0.6~44580~1;alias=10.8.0.6~49946~2]

in P-CSCF usrloc based on VIA [2://10.8.0.6:49946] Received  [2://10.8.0.6:49946], Search flag is 0

10(34207) DEBUG: ims_usrloc_pcscf [udomain.c:463]: get_pcontact(): Have an  AOR to search for

10(34207) DEBUG: ims_usrloc_pcscf [udomain.c:468]: get_pcontact():

checking for rinstance10(34207) DEBUG: ims_usrloc_pcscf [udomain.c:480]:

get_pcontact(): no rinstance param

10(34207) DEBUG: ims_usrloc_pcscf [usrloc.c:148]: get_aor_hash():

Returning hash: [1662767777]

10(34207) DEBUG: ims_usrloc_pcscf [udomain.c:503]: get_pcontact():

get_pcontact slot is [161]

10(34207) DEBUG: ims_usrloc_pcscf [udomain.c:507]: get_pcontact():

comparing contact with aorhash [1662767777], aor  [sip:mcpttuser1 at 10.8.0.6:44580;ob;alias=10.8.0.6~44580~1]

10(34207) DEBUG: ims_usrloc_pcscf [udomain.c:508]: get_pcontact():

contact host [10.8.0.6:44580]

10(34207) DEBUG: ims_usrloc_pcscf [udomain.c:509]: get_pcontact(): contact  received [1:10.8.0.6:44580]

10(34207) DEBUG: ims_usrloc_pcscf [udomain.c:543]: get_pcontact(): contact  not found in memory

10(34207) INFO: ims_registrar_pcscf [service_routes.c:258]: getContactP():

Contact not found based on Contact-header, trying IP/Port/Proto

10(34207) DEBUG: ims_usrloc_pcscf [udomain.c:457]: get_pcontact():

Searching for contact with AOR

[sip:mcpttuser1 at 10.8.0.6:44580;ob;alias=10.8.0.6~44580~1;alias=10.8.0.6~49946~2]

in P-CSCF usrloc based on VIA [2://10.8.0.6:49946] Received  [2://10.8.0.6:49946], Search flag is 1

10(34207) DEBUG: ims_usrloc_pcscf [udomain.c:463]: get_pcontact(): Have an  AOR to search for

10(34207) DEBUG: ims_usrloc_pcscf [udomain.c:468]: get_pcontact():

checking for rinstance10(34207) DEBUG: ims_usrloc_pcscf [udomain.c:480]:

get_pcontact(): no rinstance param

10(34207) DEBUG: ims_usrloc_pcscf [usrloc.c:148]: get_aor_hash():

Returning hash: [1662767777]

10(34207) DEBUG: ims_usrloc_pcscf [udomain.c:503]: get_pcontact():

get_pcontact slot is [161]

10(34207) DEBUG: ims_usrloc_pcscf [udomain.c:507]: get_pcontact():

comparing contact with aorhash [1662767777], aor  [sip:mcpttuser1 at 10.8.0.6:44580;ob;alias=10.8.0.6~44580~1]

10(34207) DEBUG: ims_usrloc_pcscf [udomain.c:508]: get_pcontact():

contact host [10.8.0.6:44580]

10(34207) DEBUG: ims_usrloc_pcscf [udomain.c:509]: get_pcontact(): contact  received [1:10.8.0.6:44580]

10(34207) DEBUG: ims_usrloc_pcscf [udomain.c:543]: get_pcontact(): contact  not found in memory

10(34207) DEBUG: ims_registrar_pcscf [service_routes.c:263]:

getContactP(): No entry in usrloc for 10.8.0.6:49946 (Proto 2) found!

10(34207) DEBUG: ims_registrar_pcscf [service_routes.c:300]:

getContactP(): Asserted identity not set10(34207) ERROR: ***  cfgtrace:request_route=[Orig_Initial] c=[/opt/OpenEPC/etc/pcscf2.cfg]

l=975 a=26 n=xlog

10(34207) WARNING: <script>: 2.1

10(34207) ERROR: *** cfgtrace:request_route=[Orig_Initial]

c=[/opt/OpenEPC/etc/pcscf2.cfg] l=976 a=26 n=send_reply

Appreciate any help we can get,

-        Paul


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20170501/8b7ff357/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: subscribe.pcap
Type: application/octet-stream
Size: 34937 bytes
Desc: subscribe.pcap
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20170501/8b7ff357/attachment.obj>


More information about the sr-users mailing list