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

Reply via email to