Hi,

I have a SIP INVITE with “multipart/mixed” Content-Type that’s failing to match 
iFC for SessionDescription. Below is the log from Sprout.

The fourth SPT in group 0 for SessionDescription’s m line = “message” should 
evaluate to match, but it’s evaluating to not match. I looked at ifc.cpp file 
based on the log and it looks like the codeline will only evaluate this if the 
Content-Type is “application/sdp”:


    if (msg->body &&

        (!pj_stricmp2(&msg->body->content_type.type, "application")) &&

        (!pj_stricmp2(&msg->body->content_type.subtype, "sdp")))


Shouldn't it also consider multipart body and look for the sdp to run the SPT 
evaluation?


Thank you,

Alan Kwon

------------------------------------------------------------------------------------------------------------------------------------------------

28-06-2018 21:34:33.338 UTC [7f670ae0d700] Verbose sproutletproxy.cpp:2487: 
Routing Request msg INVITE/cseq=864586 (tdta0x7f66d42a1f80) (2504 bytes) to 
downstream sproutlet scscf-proxy:
--start msg--

INVITE sip:+18152570...@demo.iot1.com SIP/2.0
Route: <sip:sprout.demo.iot1.com;lr;service=scscf-proxy>
Record-Route: <sip:scscf.sprout.demo.iot1.com:5054;lr;billing-role=charge-orig>
Via: SIP/2.0/TCP 
scscf.sprout.demo.iot1.com;branch=z9hG4bKPjsQV9J8nikwOXxD.rNAbtVLrTLc7i61DY
Via: SIP/2.0/UDP 
xxx.xx.0.140:5060;received=xxx.xx.0.140;branch=z9hG4bK0cB0af77d08536ec87f
From: <tel:+18152579481>;tag=gK0c0b571d
To: <sip:+18152570...@demo.iot1.com;user=phone>
Call-ID: 786629_134204932@172.27.0.140
CSeq: 864586 INVITE
Max-Forwards: 68
Allow: INVITE, ACK, CANCEL, BYE, REGISTER, REFER, INFO, SUBSCRIBE, NOTIFY, 
UPDATE, OPTIONS, MESSAGE, PUBLISH
P-Asserted-Identity: <sip:+18152579...@demo.iot1.com>
Contact: 
<sip:+18152579...@demo.iot1.com:5762;transport=tcp;gr=urn:gsma:imei:35197909-002422->;+sip.instance="<urn:gsma:imei:35197909-002422->";+g.oma.sip-im
Record-Route: <sip:xxx.xx.0.140:5060;transport=udp;lr>
P-Preferred-Identity: <tel:+18152579481>
Allow: INVITE, ACK, BYE, CANCEL, NOTIFY, OPTIONS, MESSAGE, UPDATE
Contribution-ID: 6ec6a25a6e2a494ca799b33bd4e39999
Accept-Contact: *;+g.oma.sip-im
Subject: Pump
Supported: timer, replaces
Session-Expires: 3600
Min-SE: 90
MIME-Version: 1.0
P-Asserted-Identity: <tel:+18152579481>
Content-Type: multipart/mixed;boundary="sonus-content-delim"
Content-Length:   972


--sonus-content-delim
Content-Disposition: session; handling=required
Content-Length: 422
Content-Type: application/sdp

v=0
o=Sonus_UAC 582334 96029 IN IP4 172.27.0.140
s=SIP Media Capabilities
c=IN IP4 172.28.0.140
t=0 0
m=message 16559 TCP/MSRP *
a=setup:actpass
a=path:msrp://172.25.50.95:9/15b04feec8aa494f95cb6bcee06e2d55;tcp
a=accept-types:message/cpim application/im-iscomposing+xml
a=accept-wrapped-types:text/plain application/vnd.gsma.rcs-ft-http+xml 
message/imdn+xml application/vnd.gsma.rcspushlocation+xml
a=msrp-cema

--sonus-content-delim
Content-Length: 319
Content-Type: message/cpim

NS: imdn <urn:ietf:params:imdn>
imdn.Disposition-Notification: positive-delivery, display
imdn.Message-ID: MsbsAhPj5lTXmoMSRd81dQqg
To: <sip:anonymous@anonymous.invalid>
From: <sip:anonymous@anonymous.invalid>
DateTime: 2018-06-28T21:34:32.767Z

Content-Length: 4
Content-Type: text/plain; charset=utf-8

Pump
--sonus-content-delim--

--end msg--
28-06-2018 21:34:33.338 UTC [7f670ae0d700] Debug sproutletproxy.cpp:2504: 
Network function boundary: yes ('icscf'->'scscf'/'scscf-proxy')
28-06-2018 21:34:33.338 UTC [7f670ae0d700] Debug sproutletproxy.cpp:2504: 
Network function boundary: yes ('icscf'->'scscf'/'scscf-proxy')
28-06-2018 21:34:33.338 UTC [7f670ae0d700] Debug sproutletproxy.cpp:2517: 
Internal network function boundary: yes
28-06-2018 21:34:33.338 UTC [7f670ae0d700] Debug pjutils.cpp:736: Cloned 
tdta0x7f66d42a1f80 to tdta0x7f66d4365620
28-06-2018 21:34:33.338 UTC [7f670ae0d700] Debug sproutletproxy.cpp:1450: 
Remove top Route header Route: <sip:sprout.demo.iot1.com;lr;service=scscf-proxy>
28-06-2018 21:34:33.338 UTC [7f670ae0d700] Debug sproutletproxy.cpp:2115: 
Adding message 0x7f66d4365c30 => txdata 0x7f66d43656c8 mapping
28-06-2018 21:34:33.338 UTC [7f670ae0d700] Verbose sproutletproxy.cpp:1946: 
scscf-proxy-0x7f66d4255170 pass initial request Request msg INVITE/cseq=864586 
(tdta0x7f66d4365620) to Sproutlet
28-06-2018 21:34:33.338 UTC [7f670ae0d700] Info scscfsproutlet.cpp:471: S-CSCF 
received initial request
28-06-2018 21:34:33.338 UTC [7f670ae0d700] 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
28-06-2018 21:34:33.338 UTC [7f670ae0d700] Debug uri_classifier.cpp:172: 
Classified URI as 3
28-06-2018 21:34:33.338 UTC [7f670ae0d700] Debug scscfsproutlet.cpp:945: Route 
header references this system
28-06-2018 21:34:33.338 UTC [7f670ae0d700] Debug scscfsproutlet.cpp:991: No ODI 
token, or invalid ODI token, on request - logging ICID marker 
739955c0-5d49-1036-00-00-00-50-56-bb-09-00 for B2BUA AS correlation
28-06-2018 21:34:33.338 UTC [7f670ae0d700] Debug scscfsproutlet.cpp:1004: Got 
our Route header, session case term, OD=None
28-06-2018 21:34:33.338 UTC [7f670ae0d700] Debug uri_classifier.cpp:139: home 
domain: true, local_to_node: false, is_gruu: false, enforce_user_phone: false, 
prefer_sip: true, treat_number_as_phone: false
28-06-2018 21:34:33.338 UTC [7f670ae0d700] Debug uri_classifier.cpp:172: 
Classified URI as 4
28-06-2018 21:34:33.338 UTC [7f670ae0d700] Debug acr.cpp:1797: Create RalfACR 
for node type S-CSCF with role Terminating
28-06-2018 21:34:33.338 UTC [7f670ae0d700] Debug acr.cpp:24: Created ACR 
(0x7f66d4211ef0)
28-06-2018 21:34:33.338 UTC [7f670ae0d700] Debug acr.cpp:170: Created S-CSCF 
Ralf ACR
28-06-2018 21:34:33.338 UTC [7f670ae0d700] Debug sproutletproxy.cpp:342: 
Possible service name scscf will be used if sprout.demo.iot1.com is a local 
hostname
28-06-2018 21:34:33.338 UTC [7f670ae0d700] Debug sproutletproxy.cpp:302: Found 
services param - scscf-proxy
28-06-2018 21:34:33.338 UTC [7f670ae0d700] Debug scscfsproutlet.cpp:1242: 
Looking up iFCs for sip:+18152570...@demo.iot1.com for new AS chain
28-06-2018 21:34:33.338 UTC [7f670ae0d700] Debug hssconnection.cpp:448: Making 
Homestead request for /impu/sip%3A%2B18152570701%40demo.iot1.com/reg-data
28-06-2018 21:34:33.338 UTC [7f670ae0d700] Debug a_record_resolver.cpp:57: 
ARecordResolver::resolve_iter for host dime.demo.iot1.com, port 8888, family 2
28-06-2018 21:34:33.338 UTC [7f670ae0d700] Debug utils.cpp:446: Attempt to 
parse dime.demo.iot1.com as IP address
28-06-2018 21:34:33.338 UTC [7f670ae0d700] Verbose dnscachedresolver.cpp:468: 
Check cache for dime.demo.iot1.com type 1
28-06-2018 21:34:33.338 UTC [7f670ae0d700] Debug dnscachedresolver.cpp:578: 
Pulling 2 records from cache for dime.demo.iot1.com A
28-06-2018 21:34:33.338 UTC [7f670ae0d700] Debug baseresolver.cpp:192: Found 2 
A/AAAA records, creating iterator
28-06-2018 21:34:33.338 UTC [7f670ae0d700] Debug utils.cpp:446: Attempt to 
parse dime.demo.iot1.com as IP address
28-06-2018 21:34:33.338 UTC [7f670ae0d700] Debug baseresolver.cpp:812: 
Attempting to get 1 targets for host:dime.demo.iot1.com. allowed_host_state = 3
28-06-2018 21:34:33.338 UTC [7f670ae0d700] Debug baseresolver.cpp:587: 
172.27.0.52:8888;transport=TCP has state: WHITE
28-06-2018 21:34:33.338 UTC [7f670ae0d700] Debug baseresolver.cpp:587: 
172.27.0.51:8888;transport=TCP has state: WHITE
28-06-2018 21:34:33.338 UTC [7f670ae0d700] Debug baseresolver.cpp:587: 
172.27.0.52:8888;transport=TCP has state: WHITE
28-06-2018 21:34:33.338 UTC [7f670ae0d700] Debug baseresolver.cpp:883: Added a 
whitelisted server to targets, now have 1 of 1
28-06-2018 21:34:33.338 UTC [7f670ae0d700] Debug connection_pool.h:207: Request 
for connection to IP: 172.27.0.52, port: 8888
28-06-2018 21:34:33.338 UTC [7f670ae0d700] Debug connection_pool.h:220: Found 
existing connection 0x7f6814028970 in pool
28-06-2018 21:34:33.338 UTC [7f670ae0d700] Debug httpclient.cpp:557: Set 
CURLOPT_RESOLVE: dime.demo.iot1.com:8888:172.27.0.52
28-06-2018 21:34:33.338 UTC [7f670ae0d700] Debug httpclient.cpp:588: Sending 
HTTP request : 
http://dime.demo.iot1.com:8888/impu/sip%3A%2B18152570701%40demo.iot1.com/reg-data
 (trying 172.27.0.52)
28-06-2018 21:34:33.338 UTC [7f670ae0d700] Debug thread_dispatcher.cpp:117: 
Pausing stopwatch due to HTTP request to 
http://dime.demo.iot1.com:8888/impu/sip%3A%2B18152570701%40demo.iot1.com/reg-data
28-06-2018 21:34:33.339 UTC [7f670ae0d700] Debug httpclient.cpp:956: Received 
header http/1.1200ok with value
28-06-2018 21:34:33.339 UTC [7f670ae0d700] Debug httpclient.cpp:957: Header 
pointer: 0x7f670ae0c3d0
28-06-2018 21:34:33.339 UTC [7f670ae0d700] Debug httpclient.cpp:956: Received 
header content-length with value 3387
28-06-2018 21:34:33.339 UTC [7f670ae0d700] Debug httpclient.cpp:957: Header 
pointer: 0x7f670ae0c3d0
28-06-2018 21:34:33.339 UTC [7f670ae0d700] Debug httpclient.cpp:956: Received 
header content-type with value text/plain
28-06-2018 21:34:33.339 UTC [7f670ae0d700] Debug httpclient.cpp:957: Header 
pointer: 0x7f670ae0c3d0
28-06-2018 21:34:33.339 UTC [7f670ae0d700] Debug httpclient.cpp:956: Received 
header  with value
28-06-2018 21:34:33.339 UTC [7f670ae0d700] Debug httpclient.cpp:957: Header 
pointer: 0x7f670ae0c3d0
28-06-2018 21:34:33.339 UTC [7f670ae0d700] Debug thread_dispatcher.cpp:123: 
Resuming stopwatch after HTTP request to 
http://dime.demo.iot1.com:8888/impu/sip%3A%2B18152570701%40demo.iot1.com/reg-data
28-06-2018 21:34:33.339 UTC [7f670ae0d700] Debug httpclient.cpp:628: Received 
HTTP response: status=200, doc=<ClearwaterRegData>
        <RegistrationState>REGISTERED</RegistrationState>
        <PreviousRegistrationState>REGISTERED</PreviousRegistrationState>
        <IMSSubscription xsi="http://www.w3.org/2001/XMLSchema-instance"; 
noNamespaceSchemaLocation="CxDataType.xsd">
                <PrivateID>+18152570...@demo.iot1.com</PrivateID>
                <ServiceProfile>
                        <PublicIdentity>
                                
<Identity>sip:+18152570...@demo.iot1.com</Identity>
                        </PublicIdentity>
                        <PublicIdentity>
                                <Identity>tel:+18152570701</Identity>
                        </PublicIdentity>
                        <InitialFilterCriteria>
                                <Priority>0</Priority>
                                <TriggerPoint>
                                        <ConditionTypeCNF>0</ConditionTypeCNF>
                                        <SPT>
                                                
<ConditionNegated>0</ConditionNegated>
                                                <Group>0</Group>
                                                <Method>INVITE</Method>
                                        </SPT>
                                        <SPT>
                                                
<ConditionNegated>1</ConditionNegated>
                                                <Group>0</Group>
                                                <SIPHeader>
                                                        
<Header>User-Agent</Header>
                                                        <Content>IVC</Content>
                                                </SIPHeader>
                                        </SPT>
                                        <SPT>
                                                
<ConditionNegated>1</ConditionNegated>
                                                <Group>0</Group>
                                                <SIPHeader>
                                                        
<Header>P-Preferred-Service</Header>
                                                        
<Content>(callcomposer|callunanswered|sharedmap|sharedsketch)</Content>
                                                </SIPHeader>
                                        </SPT>
                                        <SPT>
                                                
<ConditionNegated>0</ConditionNegated>
                                                <Group>0</Group>
                                                <SessionDescription>
                                                        <Line>m</Line>
                                                        
<Content>message</Content>
                                                </SessionDescription>
                                        </SPT>
                                        <SPT>
                                                
<ConditionNegated>0</ConditionNegated>
                                                <Group>1</Group>
                                                <Method>MESSAGE</Method>
                                        </SPT>
                                        <SPT>
                                                
<ConditionNegated>1</ConditionNegated>
                                                <Group>1</Group>
                                                <SIPHeader>
                                                        
<Header>User-Agent</Header>
                                                        <Content>IVC</Content>
                                                </SIPHeader>
                                        </SPT>
                                        <SPT>
                                                
<ConditionNegated>0</ConditionNegated>
                                                <Group>2</Group>
                                                <Method>SUBSCRIBE</Method>
                                        </SPT>
                                        <SPT>
                                                
<ConditionNegated>0</ConditionNegated>
                                                <Group>2</Group>
                                                <SIPHeader>
                                                        <Header>Event</Header>
                                                        
<Content>conference</Content>
                                                </SIPHeader>
                                        </SPT>
                                        <SPT>
                                                
<ConditionNegated>0</ConditionNegated>
                                                <Group>3</Group>
                                                <Method>REFER</Method>
                                        </SPT>
                                        <SPT>
                                                
<ConditionNegated>0</ConditionNegated>
                                                <Group>3</Group>
                                                <SIPHeader>
                                                        
<Header>Accept-Contact</Header>
                                                        
<Content>(g.oma.sip-im|service.ims.icsi.oma.cpm.session)</Content>
                                                </SIPHeader>
                                        </SPT>
                                </TriggerPoint>
                                <ApplicationServer>
                                        
<ServerName>sip:sc01.demo.iot1.com:5510;transport=TCP</ServerName>
                                        <DefaultHandling>1</DefaultHandling>
                                </ApplicationServer>
                        </InitialFilterCriteria>
                        <InitialFilterCriteria>
                                <Priority>2</Priority>
                                <TriggerPoint>
                                        <ConditionTypeCNF>0</ConditionTypeCNF>
                                        <SPT>
                                                
<ConditionNegated>0</ConditionNegated>
                                                <Group>0</Group>
                                                <Method>REGISTER</Method>
                                                <Extension>
                                                        
<RegistrationType>0</RegistrationType>
                                                </Extension>
                                        </SPT>
                                        <SPT>
                                                
<ConditionNegated>0</ConditionNegated>
                                                <Group>1</Group>
                                                <Method>REGISTER</Method>
                                                <Extension>
                                                        
<RegistrationType>1</RegistrationType>
                                                </Extension>
                                        </SPT>
                                </TriggerPoint>
                                <ApplicationServer>
                                        
<ServerName>sip:sc01.demo.iot1.com:5510;transport=TCP</ServerName>
                                        <DefaultHandling>1</DefaultHandling>
                                </ApplicationServer>
                        </InitialFilterCriteria>
                </ServiceProfile>
        </IMSSubscription>
</ClearwaterRegData>


28-06-2018 21:34:33.339 UTC [7f670ae0d700] Debug baseresolver.cpp:672: 
Successful response from  172.27.0.52:8888;transport=TCP
28-06-2018 21:34:33.339 UTC [7f670ae0d700] Debug connection_pool.h:244: Release 
connection to IP: 172.27.0.52, port: 8888 to pool
28-06-2018 21:34:33.339 UTC [7f670ae0d700] Debug 
event_statistic_accumulator.cpp:32: Accumulate 1761 for 0x2d4e720
28-06-2018 21:34:33.339 UTC [7f670ae0d700] Debug 
event_statistic_accumulator.cpp:32: Accumulate 1761 for 0x2d4e798
28-06-2018 21:34:33.339 UTC [7f670ae0d700] Debug 
event_statistic_accumulator.cpp:32: Accumulate 1761 for 0x2d53300
28-06-2018 21:34:33.339 UTC [7f670ae0d700] Debug 
event_statistic_accumulator.cpp:32: Accumulate 1761 for 0x2d533a8
28-06-2018 21:34:33.339 UTC [7f670ae0d700] Debug sprout_xml_utils.cpp:70: 
Processing Identity node from HSS XML - sip:+18152570...@demo.iot1.com
28-06-2018 21:34:33.339 UTC [7f670ae0d700] Debug sprout_xml_utils.cpp:70: 
Processing Identity node from HSS XML - tel:+18152570701
28-06-2018 21:34:33.340 UTC [7f670ae0d700] Debug scscfsproutlet.cpp:1248: 
Successfully looked up iFCs
28-06-2018 21:34:33.340 UTC [7f670ae0d700] Debug aschain.cpp:55: Creating 
AsChain 0x7f66d4179500 with 2 iFCs and adding to map
28-06-2018 21:34:33.340 UTC [7f670ae0d700] Debug aschain.cpp:57: Attached ACR 
(0x7f66d4211ef0) to chain
28-06-2018 21:34:33.340 UTC [7f670ae0d700] Debug scscfsproutlet.cpp:1376: 
S-CSCF sproutlet transaction 0x7f66d4255170 linked to AsChain 
AsChain-term[0x7f66d4179500]:1/2
28-06-2018 21:34:33.340 UTC [7f670ae0d700] Debug acr.cpp:210: Set record type 
for P/S-CSCF
28-06-2018 21:34:33.340 UTC [7f670ae0d700] Debug acr.cpp:237: Dialog-initiating 
INVITE => START_RECORD
28-06-2018 21:34:33.340 UTC [7f670ae0d700] Debug acr.cpp:1596: Found 
P-Charging-Vector header, store information
28-06-2018 21:34:33.340 UTC [7f670ae0d700] Info scscfsproutlet.cpp:635: Found 
served user, so apply services
28-06-2018 21:34:33.340 UTC [7f670ae0d700] Debug ifc.cpp:428: SPT class Method: 
result true
28-06-2018 21:34:33.340 UTC [7f670ae0d700] Debug ifc.cpp:428: SPT class 
SIPHeader: result false
28-06-2018 21:34:33.340 UTC [7f670ae0d700] Debug ifc.cpp:428: SPT class 
SIPHeader: result false
28-06-2018 21:34:33.340 UTC [7f670ae0d700] Debug ifc.cpp:428: SPT class 
SessionDescription: result false
28-06-2018 21:34:33.340 UTC [7f670ae0d700] Debug ifc.cpp:428: SPT class Method: 
result false
28-06-2018 21:34:33.340 UTC [7f670ae0d700] Debug ifc.cpp:428: SPT class 
SIPHeader: result false
28-06-2018 21:34:33.340 UTC [7f670ae0d700] Debug ifc.cpp:428: SPT class Method: 
result false
28-06-2018 21:34:33.340 UTC [7f670ae0d700] Debug ifc.cpp:428: SPT class 
SIPHeader: result false
28-06-2018 21:34:33.340 UTC [7f670ae0d700] Debug ifc.cpp:428: SPT class Method: 
result false
28-06-2018 21:34:33.340 UTC [7f670ae0d700] Debug ifc.cpp:428: SPT class 
SIPHeader: result true
28-06-2018 21:34:33.340 UTC [7f670ae0d700] Debug ifc.cpp:582: iFC does not match
28-06-2018 21:34:33.340 UTC [7f670ae0d700] Debug ifc.cpp:589: AND each SPT 
match result to determine group result.
OR each group result to determine overall iFC match.

SPT in group 0 is matched.
SPT in group 0 is matched.
SPT in group 0 is matched.
SPT in group 0 is not matched.
SPT in group 1 is not matched.
SPT in group 1 is matched.
SPT in group 2 is not matched.
SPT in group 2 is not matched.
SPT in group 3 is not matched.
SPT in group 3 is matched.
Group 0 is not matched.
Group 1 is not matched.
Group 2 is not matched.
Group 3 is not matched.

28-06-2018 21:34:33.340 UTC [7f670ae0d700] Debug ifc.cpp:428: SPT class Method: 
result false
28-06-2018 21:34:33.340 UTC [7f670ae0d700] Debug ifc.cpp:428: SPT class Method: 
result false
28-06-2018 21:34:33.340 UTC [7f670ae0d700] Debug ifc.cpp:582: iFC does not match
28-06-2018 21:34:33.340 UTC [7f670ae0d700] Debug ifc.cpp:589: AND each SPT 
match result to determine group result.
OR each group result to determine overall iFC match.

SPT in group 0 is not matched.
SPT in group 1 is not matched.
Group 0 is not matched.
Group 1 is not matched.

28-06-2018 21:34:33.340 UTC [7f670ae0d700] Info scscfsproutlet.cpp:1529: 
Completed applying terminating services



[cid:7E8907A8-95D3-4E42-84B2-4DE94ABAB638]<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
Clearwater@lists.projectclearwater.org
http://lists.projectclearwater.org/mailman/listinfo/clearwater_lists.projectclearwater.org

Reply via email to