Hi Michele,

The RequestURI XML element is defined in the 3GPP specs as only matching on the 
hostname - not the full SIP URI. That means that where you have:


               <RequestURI>sip:as2.service.example.com</RequestURI>

 you actually want:


               <RequestURI>as2.service.example.com</RequestURI>

(no "sip:")


With that change, the IFC should match, and this flow should hopefully work as 
you expect.


Best,

Rob


________________________________
From: Clearwater <[email protected]> on behalf of 
Michele Furlanetto <[email protected]>
Sent: 18 October 2017 14:57
To: [email protected]
Subject: [Project Clearwater] Enable AS to AS communication

Hi all,

I have to setup Clearwater to support the following call flow:
user1 <=> AS1 <=> AS2 <=> AS(1 or 3) <=> user2

But I’m missing some configuration to enable AS1 <=> AS2 communication and I 
need a hint.

Both ASes are internally developed from scratch by my company.

Starting from a clean AIO image, relevant configurations applied are

- dnsmasq.conf
srv-host=_sip._udp.scscf.cw-aio,scscf.cw-aio,5054 
srv-host=_sip._udp.as1.service.example.com<http://udp.as1.service.example.com>,example.com<http://example.com>,5071
 
srv-host=_sip._udp.as2.service.example.com<http://udp.as2.service.example.com>,example.com<http://example.com>,5072
Example Domain<http://example.com/>
example.com
Example Domain. This domain is established to be used for illustrative examples 
in documents. You may use this domain in examples without prior coordination or 
asking ...

Example Domain<http://example.com/>
example.com
Example Domain. This domain is established to be used for illustrative examples 
in documents. You may use this domain in examples without prior coordination or 
asking ...


- /etc/hosts
10.2.0.91 example.com<http://example.com>
Example Domain<http://example.com/>
example.com
Example Domain. This domain is established to be used for illustrative examples 
in documents. You may use this domain in examples without prior coordination or 
asking ...


- /etc/clearwater/shared_ifcs.xml
<?xml version="1.0" encoding="UTF-8"?> <SharedIFCsSets> <SharedIFCsSet> 
<SetID>1</SetID> <InitialFilterCriteria> <Priority>1</Priority> <TriggerPoint> 
<ConditionTypeCNF>0</ConditionTypeCNF> <SPT> 
<ConditionNegated>0</ConditionNegated> <Group>0</Group> 
<RequestURI>sip:as2.service.example.com<http://service.example.com></RequestURI>
 </SPT> </TriggerPoint> <ApplicationServer> 
<ServerName>sip:as2.service.example.com<http://service.example.com>:5072;transport=UDP</ServerName>
 <DefaultHandling>0</DefaultHandling> </ApplicationServer> 
</InitialFilterCriteria> <InitialFilterCriteria> <Priority>0</Priority> 
<TriggerPoint> <ConditionTypeCNF>0</ConditionTypeCNF> <SPT> 
<ConditionNegated>0</ConditionNegated> <Group>0</Group> 
<Method>REGISTER</Method> </SPT> <SPT> <ConditionNegated>0</ConditionNegated> 
<Group>1</Group> 
<RequestURI>sip:as1.service.example.com<http://service.example.com></RequestURI>
 </SPT> </TriggerPoint> <ApplicationServer> 
<ServerName>sip:as1.service.example.com<http://service.example.com>:5071;transport=UDP</ServerName>
 <DefaultHandling>0</DefaultHandling> <Extension> <IncludeRegisterRequest/> 
</Extension> </ApplicationServer> </InitialFilterCriteria> </SharedIFCsSet> 
</SharedIFCsSets>



Using this configurations, AS1 is correctly addressed for both direct messages 
and third-party REGISTER,
but messages to AS2 are being rejected with 500. From Sprout log:
(Message is a SUBSCRIBE, expected flow is user <=> AS1 <=> AS2)

Debug pjutils.cpp:1701: Logging SAS Call-ID marker, Call-ID 51A2C2FF0C97F5F8C480
Debug thread_dispatcher.cpp:268: Queuing cloned received message 0x7f0c880c8648 
for worker threads
Debug thread_dispatcher.cpp:145: Worker thread dequeue message 0x7f0c880c8648
Debug pjsip: sip_endpoint.c Distributing rdata to modules: Request msg 
SUBSCRIBE/cseq=41101 (rdata0x7f0c880c8648)
Debug uri_classifier.cpp:160: home domain: false, local_to_node: false, 
is_gruu: false, enforce_user_phone: false, prefer_sip: true, 
treat_number_as_phone: false
Debug uri_classifier.cpp:206: Classified URI as 5
Debug basicproxy.cpp:62: Process SUBSCRIBE request
Verbose sproutletproxy.cpp:582: Sproutlet Proxy transaction (0x7f0c84009750) 
created
Debug basicproxy.cpp:1282: Report SAS start marker - trail (6)
Debug pjutils.cpp:695: Cloned Request msg SUBSCRIBE/cseq=41101 
(rdata0x7f0c880c8648) to tdta0x7f0c8400e620
Debug pjsip: tsx0x7f0c84011 Transaction created for Request msg 
SUBSCRIBE/cseq=41101 (rdata0x7f0c880c8648)
Debug pjsip: tsx0x7f0c84011 Incoming Request msg SUBSCRIBE/cseq=41101 
(rdata0x7f0c880c8648) in state Null
Debug pjsip: tsx0x7f0c84011 State changed from Null to Trying, event=RX_MSG
Debug basicproxy.cpp:183: tsx0x7f0c84011638 - tu_on_tsx_state UAS, TSX_STATE 
RX_MSG state=Trying
Debug pjsip:       endpoint Response msg 408/SUBSCRIBE/cseq=41101 
(tdta0x7f0c84011da0) created
Debug sproutletproxy.cpp:170: Find target Sproutlet for request
Debug sproutletproxy.cpp:204: Found next routable URI: 
sip:as2.service.example.com
Debug sproutletproxy.cpp:337: Possible service name as2 will be used if 
service.example.com<http://service.example.com> is a local hostname
Debug sproutletproxy.cpp:229: No Sproutlet found using service name or host
Debug sproutletproxy.cpp:235: Find default service for port 5055
Debug mmtel.cpp:61: Failed to find P-Served-User header - not invoking MMTEL
Debug sproutletproxy.cpp:170: Find target Sproutlet for request
Debug sproutletproxy.cpp:204: Found next routable URI: 
sip:as2.service.example.com
Debug sproutletproxy.cpp:337: Possible service name as2 will be used if 
service.example.com<http://service.example.com> is a local hostname
Info sproutletproxy.cpp:644: Reject request
Error basicproxy.cpp:245: Failed to create BasicProxy UAS transaction object, 
Option/operation is not supported (PJ_ENOTSUP)
Debug basicproxy.cpp:399: Rejecting SUBSCRIBE request with 500 status code
Debug pjsip:       endpoint Response msg 500/SUBSCRIBE/cseq=41101 
(tdta0x7f0c84013d60) created
Debug pjsip:  sip_resolve.c Target '10.2.0.91:5071' type=UDP resolved to 
'10.2.0.91:5071' type=UDP (UDP transport)
Verbose common_sip_processing.cpp:106: TX 534 bytes Response msg 
500/SUBSCRIBE/cseq=41101 (tdta0x7f0c84013d60) to UDP 10.2.0.91:5071:

Thanks for the help,
Michele


P.S.:
Same questions I’ve asked in thread 
http://lists.projectclearwater.org/pipermail/clearwater_lists.projectclearwater.org/2017-October/003639.html,
but the question was originally another one, so I’m opening a new thread with 
an appropriate title.

_______________________________________________
Clearwater mailing list
[email protected]
http://lists.projectclearwater.org/mailman/listinfo/clearwater_lists.projectclearwater.org

Reply via email to