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