Hi, Just following up since I haven’t heard any response… any thoughts?
Thanks, Alan Kwon From: <Kwon>, Alan Kwon <[email protected]<mailto:[email protected]>> Reply-To: "[email protected]<mailto:[email protected]>" <[email protected]<mailto:[email protected]>> Date: Wednesday, May 23, 2018 at 3:21 PM To: "[email protected]<mailto:[email protected]>" <[email protected]<mailto:[email protected]>> Subject: [Project Clearwater] PSI routing at terminating network Hi, I’m trying to understand the routing logic in Sprout. Basically, it’s a SUBSCRIBE coming from another network (NNI) with ReqURI set to a PSI: SUBSCRIBE sip:[email protected]<mailto:[email protected]>:5510;as.session=4 SIP/2.0 Via: SIP/2.0/UDP 172.27.0.140;branch=z9hG4bK08B0100666d326454c4 From: <tel:+18152579478>;tag=gK08e-gK00e-492495c9-c6df-4eaf-8016-c126fbac5136 To: <sip:[email protected]<mailto:[email protected]>;as.session=4> Call-ID: f6fa61ef-a3df-4c30-9069-1ee0a3957f58 CSeq: 2 SUBSCRIBE Max-Forwards: 61 Expires: 3600 P-Preferred-Identity: <tel:+18152579478> Contact: <sip:[email protected]<mailto:[email protected]>:5510;as.session=2>;+sip.instance="<urn:gsma:imei:35197909-002681->";+g.oma.sip-im Event: conference Accept: application/conference-info+xml Accept-Contact: *;+g.oma.sip-im P-Asserted-Identity: <sip:[email protected]<mailto:[email protected]>> P-Asserted-Identity: <tel:+18152579478> Supported: eventlist Record-Route: <sip:172.27.0.140:5060;lr;transport=udp> P-Charging-Vector: icid-value=dab7cbc0-4038-1036-00-00-00-50-56-bb-09-00;icid-generated-at=172.27.0.140 Content-Length: 0 >From the Sprout log, I can see I-CSCF performing LIR and getting a successful >result: 22-05-2018 21:52:41.173 UTC [7fa9fbf6b700] Debug icscfsproutlet.cpp:551: Terminating request 22-05-2018 21:52:41.173 UTC [7fa9fbf6b700] Debug uri_classifier.cpp:139: home domain: false, local_to_node: false, is_gruu: false, enforce_user_phone: false, prefer _sip: true, treat_number_as_phone: false 22-05-2018 21:52:41.173 UTC [7fa9fbf6b700] Debug uri_classifier.cpp:172: Classified URI as 5 22-05-2018 21:52:41.173 UTC [7fa9fbf6b700] Debug icscfrouter.cpp:431: Perform LIR - impu sip:[email protected]<mailto:[email protected]>, originating false, auth_type None 22-05-2018 21:52:41.173 UTC [7fa9fbf6b700] Debug a_record_resolver.cpp:57: ARecordResolver::resolve_iter for host dime.ivc.iot1.com, port 8888, family 2 22-05-2018 21:52:41.173 UTC [7fa9fbf6b700] Debug utils.cpp:446: Attempt to parse dime.ivc.iot1.com as IP address 22-05-2018 21:52:41.173 UTC [7fa9fbf6b700] Verbose dnscachedresolver.cpp:468: Check cache for dime.ivc.iot1.com type 1 22-05-2018 21:52:41.173 UTC [7fa9fbf6b700] Debug dnscachedresolver.cpp:578: Pulling 2 records from cache for dime.ivc.iot1.com A 22-05-2018 21:52:41.173 UTC [7fa9fbf6b700] Debug baseresolver.cpp:192: Found 2 A/AAAA records, creating iterator 22-05-2018 21:52:41.173 UTC [7fa9fbf6b700] Debug utils.cpp:446: Attempt to parse dime.ivc.iot1.com as IP address 22-05-2018 21:52:41.173 UTC [7fa9fbf6b700] Debug baseresolver.cpp:812: Attempting to get 1 targets for host:dime.ivc.iot1.com. allowed_host_state = 3 22-05-2018 21:52:41.173 UTC [7fa9fbf6b700] Debug baseresolver.cpp:587: 172.27.0.51:8888;transport=TCP has state: WHITE 22-05-2018 21:52:41.173 UTC [7fa9fbf6b700] Debug baseresolver.cpp:587: 172.27.0.52:8888;transport=TCP has state: WHITE 22-05-2018 21:52:41.173 UTC [7fa9fbf6b700] Debug baseresolver.cpp:587: 172.27.0.51:8888;transport=TCP has state: WHITE 22-05-2018 21:52:41.173 UTC [7fa9fbf6b700] Debug baseresolver.cpp:883: Added a whitelisted server to targets, now have 1 of 1 22-05-2018 21:52:41.173 UTC [7fa9fbf6b700] Debug connection_pool.h:207: Request for connection to IP: 172.27.0.51, port: 8888 22-05-2018 21:52:41.173 UTC [7fa9fbf6b700] Debug connection_pool.h:229: No existing connection in pool, create one 22-05-2018 21:52:41.173 UTC [7fa9fbf6b700] Debug http_connection_pool.cpp:42: Allocated CURL handle 0x7faafc31d9a0 22-05-2018 21:52:41.173 UTC [7fa9fbf6b700] Debug connection_pool.h:231: Created new connection 0x7faafc336bb0 22-05-2018 21:52:41.173 UTC [7fa9fbf6b700] Debug httpclient.cpp:557: Set CURLOPT_RESOLVE: dime.ivc.iot1.com:8888:172.27.0.51 22-05-2018 21:52:41.173 UTC [7fa9fbf6b700] Debug httpclient.cpp:588: Sending HTTP request : http://dime.ivc.iot1.com:8888/impu/sip%3AImService%40sc01.ivc.iot1.com/l ocation (trying 172.27.0.51) 22-05-2018 21:52:41.173 UTC [7fa9fbf6b700] Debug thread_dispatcher.cpp:117: Pausing stopwatch due to HTTP request to http://dime.ivc.iot1.com:8888/impu/sip%3AImServ ice%40sc01.ivc.iot1.com/location 22-05-2018 21:52:41.179 UTC [7fa9fbf6b700] Debug httpclient.cpp:956: Received header http/1.1200ok with value 22-05-2018 21:52:41.179 UTC [7fa9fbf6b700] Debug httpclient.cpp:957: Header pointer: 0x7fa9fbf6a000 22-05-2018 21:52:41.179 UTC [7fa9fbf6b700] Debug httpclient.cpp:956: Received header content-length with value 75 22-05-2018 21:52:41.179 UTC [7fa9fbf6b700] Debug httpclient.cpp:957: Header pointer: 0x7fa9fbf6a000 22-05-2018 21:52:41.179 UTC [7fa9fbf6b700] Debug httpclient.cpp:956: Received header content-type with value text/plain 22-05-2018 21:52:41.179 UTC [7fa9fbf6b700] Debug httpclient.cpp:957: Header pointer: 0x7fa9fbf6a000 22-05-2018 21:52:41.179 UTC [7fa9fbf6b700] Debug httpclient.cpp:956: Received header with value 22-05-2018 21:52:41.179 UTC [7fa9fbf6b700] Debug httpclient.cpp:957: Header pointer: 0x7fa9fbf6a000 22-05-2018 21:52:41.179 UTC [7fa9fbf6b700] Debug thread_dispatcher.cpp:123: Resuming stopwatch after HTTP request to http://dime.ivc.iot1.com:8888/impu/sip%3AImService%40sc01.ivc.iot1.com/location 22-05-2018 21:52:41.179 UTC [7fa9fbf6b700] Debug httpclient.cpp:628: Received HTTP response: status=200, doc={"result-code":2001,"mandatory-capabilities":[],"optional-capabilities":[]} 22-05-2018 21:52:41.179 UTC [7fa9fbf6b700] Debug baseresolver.cpp:672: Successful response from 172.27.0.51:8888;transport=TCP 22-05-2018 21:52:41.179 UTC [7fa9fbf6b700] Debug connection_pool.h:244: Release connection to IP: 172.27.0.51, port: 8888 to pool 22-05-2018 21:52:41.179 UTC [7fa9fbf6b700] Debug event_statistic_accumulator.cpp:32: Accumulate 6770 for 0x1f10670 22-05-2018 21:52:41.179 UTC [7fa9fbf6b700] Debug event_statistic_accumulator.cpp:32: Accumulate 6770 for 0x1f10718 22-05-2018 21:52:41.179 UTC [7fa9fbf6b700] Debug event_statistic_accumulator.cpp:32: Accumulate 6770 for 0x1f19fb0 22-05-2018 21:52:41.179 UTC [7fa9fbf6b700] Debug event_statistic_accumulator.cpp:32: Accumulate 6770 for 0x1f19ff8 22-05-2018 21:52:41.179 UTC [7fa9fbf6b700] Debug icscfrouter.cpp:246: HSS returned capabilities 22-05-2018 21:52:41.179 UTC [7fa9fbf6b700] Debug acr.cpp:621: Storing Server-Capabilities 22-05-2018 21:52:41.179 UTC [7fa9fbf6b700] Debug scscfselector.cpp:263: Selected S-CSCF is sip:scscf.sprout.ivc.iot1.com:5054 22-05-2018 21:52:41.179 UTC [7fa9fbf6b700] Debug icscfrouter.cpp:118: SCSCF selected: sip:scscf.sprout.ivc.iot1.com:5054 When the request gets to S-CSCF, I was expecting it to evaluate iFC for the PSI (sip:[email protected]<mailto:[email protected]>), however, it seems to skip the service evaluation: 22-05-2018 21:52:41.180 UTC [7fa9fbf6b700] Debug sproutletproxy.cpp:2504: Network function boundary: yes ('icscf'->'scscf'/'scscf-proxy') 22-05-2018 21:52:41.180 UTC [7fa9fbf6b700] Debug sproutletproxy.cpp:2504: Network function boundary: yes ('icscf'->'scscf'/'scscf-proxy') 22-05-2018 21:52:41.180 UTC [7fa9fbf6b700] Debug sproutletproxy.cpp:2517: Internal network function boundary: yes 22-05-2018 21:52:41.180 UTC [7fa9fbf6b700] Debug pjutils.cpp:736: Cloned tdta0x7faafc1562c0 to tdta0x7faafc2dac10 22-05-2018 21:52:41.180 UTC [7fa9fbf6b700] Debug sproutletproxy.cpp:2517: Internal network function boundary: yes 22-05-2018 21:52:41.180 UTC [7fa9fbf6b700] Debug pjutils.cpp:736: Cloned tdta0x7faafc1562c0 to tdta0x7faafc2dac10 22-05-2018 21:52:41.180 UTC [7fa9fbf6b700] Debug sproutletproxy.cpp:1450: Remove top Route header Route: <sip:sprout.ivc.iot1.com;lr;service=scscf-proxy> 22-05-2018 21:52:41.180 UTC [7fa9fbf6b700] Debug sproutletproxy.cpp:2115: Adding message 0x7faafc2db220 => txdata 0x7faafc2dacb8 mapping 22-05-2018 21:52:41.180 UTC [7fa9fbf6b700] Verbose sproutletproxy.cpp:1946: scscf-proxy-0x7faafc305ee0 pass initial request Request msg SUBSCRIBE/cseq=2 (tdta0x7faa fc2dac10) to Sproutlet 22-05-2018 21:52:41.180 UTC [7fa9fbf6b700] Info scscfsproutlet.cpp:471: S-CSCF received initial request 22-05-2018 21:52:41.180 UTC [7fa9fbf6b700] Debug uri_classifier.cpp:139: home domain: false, local_to_node: true, is_gruu: false, enforce_user_phone: false, prefer_ sip: true, treat_number_as_phone: false 22-05-2018 21:52:41.180 UTC [7fa9fbf6b700] Debug uri_classifier.cpp:172: Classified URI as 3 22-05-2018 21:52:41.180 UTC [7fa9fbf6b700] Debug scscfsproutlet.cpp:945: Route header references this system 22-05-2018 21:52:41.180 UTC [7fa9fbf6b700] Debug scscfsproutlet.cpp:991: No ODI token, or invalid ODI token, on request - logging ICID marker dab7cbc0-4038-1036-00- 00-00-50-56-bb-09-00 for B2BUA AS correlation 22-05-2018 21:52:41.180 UTC [7fa9fbf6b700] Debug scscfsproutlet.cpp:1004: Got our Route header, session case term, OD=None 22-05-2018 21:52:41.180 UTC [7fa9fbf6b700] Debug uri_classifier.cpp:139: home domain: false, local_to_node: false, is_gruu: false, enforce_user_phone: false, prefer _sip: true, treat_number_as_phone: false 22-05-2018 21:52:41.180 UTC [7fa9fbf6b700] Debug uri_classifier.cpp:172: Classified URI as 5 22-05-2018 21:52:41.180 UTC [7fa9fbf6b700] Debug scscfsproutlet.cpp:1348: URI is not locally hosted 22-05-2018 21:52:41.180 UTC [7fa9fbf6b700] Debug acr.cpp:1797: Create RalfACR for node type S-CSCF with role Terminating 22-05-2018 21:52:41.180 UTC [7fa9fbf6b700] Debug acr.cpp:24: Created ACR (0x7faafc168d50) 22-05-2018 21:52:41.180 UTC [7fa9fbf6b700] Debug acr.cpp:170: Created S-CSCF Ralf ACR 22-05-2018 21:52:41.180 UTC [7fa9fbf6b700] Debug acr.cpp:29: Destroyed ACR (0x7faafc168d50) 22-05-2018 21:52:41.180 UTC [7fa9fbf6b700] Debug uri_classifier.cpp:139: home domain: false, local_to_node: false, is_gruu: false, enforce_user_phone: false, prefer_sip: true, treat_number_as_phone: false 22-05-2018 21:52:41.180 UTC [7fa9fbf6b700] Debug uri_classifier.cpp:172: Classified URI as 5 22-05-2018 21:52:41.180 UTC [7fa9fbf6b700] Info scscfsproutlet.cpp:656: Route request without applying services Could you please explain why the iFC evaluation is skipped? 24-229, Section 5.4.3.3 seems to imply that it should build an ordered list of iFC if no original dialog identifier is present in the topmost Route header of the incoming request, which seems to be the case here. Thank you, [cid:7F5F1D25-E9CF-4FB6-957D-E4E41857C139]<http://www.interoptechnologies.com/> ALAN KWON Senior Software Engineer T: +1 972-753-1865 (Texas) F: +1 239-425-6845 Confidentiality Notice: The information in this e-mail and in any attachment may contain information which is legally privileged. It is intended only for the attention and use of the named recipient. If you are not the intended recipient, you are not authorized to retain, disclose, copy or distribute the message and/or any of its attachments. If you received this e-mail in error, please notify me and delete this message.
_______________________________________________ Clearwater mailing list [email protected] http://lists.projectclearwater.org/mailman/listinfo/clearwater_lists.projectclearwater.org
