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

Reply via email to