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,example.com,5071 srv-host=_sip._udp.as2.service.example.com,example.com,5072 - /etc/hosts 10.2.0.91 example.com <http://example.com/> - /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</RequestURI> </SPT> </TriggerPoint> <ApplicationServer> <ServerName>sip:as2.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</RequestURI> </SPT> </TriggerPoint> <ApplicationServer> <ServerName>sip:as1.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 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 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 <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
