Hi Ellie,

Thanks for the response. I saw one of the old mail archive answers and it
had an IP address, but anyways, I changed to sip URI and it's getting
there... However, once the request reaches example.com's IBCF, it's not
routing the request properly. I think it's because the Request URI and the
Route-header are reversed. This is the log from Bono/IBCF on example.com
side:


09-05-2014 17:10:48.506 Debug pjsip: sip_endpoint.c Processing incoming
message: Request msg OPTIONS/cseq=29760 (rdata0x7feff40415c8)
09-05-2014 17:10:48.506 Verbose stack.cpp:226: RX 2216 bytes Request msg
OPTIONS/cseq=29760 (rdata0x7feff40415c8) from TCP 10.12.92.97:43674:
--start msg--

OPTIONS sip:10.12.92.27:5058 SIP/2.0
Record-Route: <sip:sprout.cwims.iot1.com:5054;transport=TCP;lr>
Record-Route: <sip:10.12.92.96:5058;transport=TCP;lr>
Record-Route: <sip:[email protected]:5060;transport=TCP;lr>
Via: SIP/2.0/TCP
10.12.92.97:43674;rport;branch=z9hG4bKPj8oFjRgzBduQKFJ6PRbmECK.bsSKS8H7o
Via: SIP/2.0/TCP
10.12.92.96:58322;rport=58322;received=10.12.92.96;branch=z9hG4bKPjE5Jwx72D
QPubCo9VL.eLZuZ37TbDfkRB
Via: SIP/2.0/TCP
172.25.50.89:58844;rport=58844;received=172.25.50.89;branch=z9hG4bKPjtwdDnx
nUJ2iBQ4Sz-NPi5tQg.IHa1KUm
Max-Forwards: 68
From:
<sip:[email protected]>;tag=jSUz62-NXHH2p1vJEsTiN3sOZpJyhmw0
To: <sip:[email protected];user=phone>
Call-ID: OqAg1gqMorR.at3-NFsmV5NnlVoSqX6M
CSeq: 29760 OPTIONS
User-Agent: IM-client/OMA1.0 RCSAndrd/2.4.7 COMLib/3.3.8
Contact:
<sip:[email protected]:58844;transport=TCP;ob>;+g.3gpp.iari-ref="ur
n%3Aurn-7%3A3gpp-application.ims.iari.joyn.intmsg,urn%3Aurn-7%3A3gpp-applic
ation.i
ms.iari.rcs.fthttp,urn%3Aurn-7%3A3gpp-application.ims.iari.rcs.ftstandfw,ur
n%3Aurn-7%3A3gpp-application.ims.iari.rcs.ftthumb,urn%3Aurn-7%3A3gpp-applic
ation.ims.iari.r
cs.geopush,urn%3Aurn-7%3A3gpp-application.ims.iari.rcse.ft,urn%3Aurn-7%3A3g
pp-application.ims.iari.rcse.im,urn%3Aurn-7%3A3gpp-application.ims.iari.rcs
e.stickers";+g.3
gpp.icsi-ref="urn%3Aurn-7%3A3gpp-service.ims.icsi.mmtel";+g.gsma.rcs.ipcall
;+g.gsma.rcs.ipvideocallonly;video;+sip.instance="<urn:gsma:imei:35526604-1
20549-1>"
Accept-Contact:
*;+g.3gpp.iari-ref="urn%3Aurn-7%3A3gpp-application.ims.iari.joyn.intmsg,urn
%3Aurn-7%3A3gpp-application.ims.iari.rcs.fthttp,urn%3Aurn-7%3A3gpp-applicat
ion.ims.iari.rcs.ftstandfw,urn%3Aurn-7%3A3gpp-application.ims.iari.rcs.ftth
umb,urn%3Aurn-7%3A3gpp-application.ims.iari.rcs.geopush,urn%3Aurn-7%3A3gpp-
application.ims.
iari.rcse.ft,urn%3Aurn-7%3A3gpp-application.ims.iari.rcse.im,urn%3Aurn-7%3A
3gpp-application.ims.iari.rcse.stickers";+g.3gpp.icsi-ref="urn%3Aurn-7%3A3g
pp-service.ims.i
csi.mmtel";+g.gsma.rcs.ipcall;+g.gsma.rcs.ipvideocallonly;video
Accept: application/sdp
P-Asserted-Identity: <sip:[email protected]>
Session-Expires: 600
Route: <sip:[email protected]>
Content-Length:  0


--end msg--
09-05-2014 17:10:48.506 Debug statistic.cpp:103: Send new value for
statistic incoming_requests, size 1
09-05-2014 17:10:48.506 Debug zmq_lvc.cpp:167: Update to incoming_requests
statistic
09-05-2014 17:10:48.506 Debug zmq_lvc.cpp:250: Clearing message cache for
0x7ff00402a170
09-05-2014 17:10:48.507 Debug stack.cpp:411: Queuing cloned received
message 0x7feff4047398 for worker threads
09-05-2014 17:10:48.507 Debug statistic.cpp:103: Send new value for
statistic queue_size, size 5
09-05-2014 17:10:48.507 Debug zmq_lvc.cpp:167: Update to queue_size
statistic
09-05-2014 17:10:48.507 Debug zmq_lvc.cpp:250: Clearing message cache for
0x7ff0040334b0
09-05-2014 17:10:48.507 Debug stack.cpp:189: Worker thread dequeue message
0x7feff4047398
09-05-2014 17:10:48.507 Debug pjsip: sip_endpoint.c Distributing rdata to
modules: Request msg OPTIONS/cseq=29760 (rdata0x7feff4047398)
09-05-2014 17:10:48.507 Debug pjsip:       endpoint Response msg
200/OPTIONS/cseq=29760 (tdta0x7fefe4002ba0) created
09-05-2014 17:10:48.507 Verbose stack.cpp:242: TX 827 bytes Response msg
200/OPTIONS/cseq=29760 (tdta0x7fefe4002ba0) to TCP 10.12.92.97:43674:
--start msg--

SIP/2.0 200 OK
Via: SIP/2.0/TCP
10.12.92.97:43674;rport=43674;received=10.12.92.97;branch=z9hG4bKPj8oFjRgzB
duQKFJ6PRbmECK.bsSKS8H7o
Via: SIP/2.0/TCP
10.12.92.96:58322;rport=58322;received=10.12.92.96;branch=z9hG4bKPjE5Jwx72D
QPubCo9VL.eLZuZ37TbDfkRB
Via: SIP/2.0/TCP
172.25.50.89:58844;rport=58844;received=172.25.50.89;branch=z9hG4bKPjtwdDnx
nUJ2iBQ4Sz-NPi5tQg.IHa1KUm
Record-Route: <sip:sprout.cwims.iot1.com:5054;transport=TCP;lr>
Record-Route: <sip:10.12.92.96:5058;transport=TCP;lr>
Record-Route: <sip:[email protected]:5060;transport=TCP;lr>
Call-ID: OqAg1gqMorR.at3-NFsmV5NnlVoSqX6M
From:
<sip:[email protected]>;tag=jSUz62-NXHH2p1vJEsTiN3sOZpJyhmw0
To:
<sip:[email protected];user=phone>;tag=z9hG4bKPj8oFjRgzBduQKFJ6PR
bmECK.bsSKS8H7o
CSeq: 29760 OPTIONS
Content-Length:  0


--end msg--
09-05-2014 17:10:48.507 Debug pjsip: tdta0x7fefe400 Destroying txdata
Response msg 200/OPTIONS/cseq=29760 (tdta0x7fefe4002ba0)



I expected the request to look like:


OPTIONS sip:[email protected] SIP/2.0
Route: <sip:10.12.92.27:5058>
I'm not sure why Bono/IBCF is responding with 200 OK either...

Thanks,
Alan




On 5/9/14 11:46 AM, "Eleanor Merry" <[email protected]> wrote:

>Hi Alan,
>
>You do need to specify "trusted_peers" in user_settings to enable IBCF
>functionality on a Bono node.
>
>If there isn't a route specified for a domain in the bgcf.json file,
>Sprout will attempt to route directly to the domain. You need to define
>BGCF routing if Sprout can't directly route to the domain (e.g. if the
>domain isn't resolvable, the domain to route to doesn't trust Sprout,
>...).
>
>As you suggest, there would typically be agreements in place that control
>what traffic is allowed between operators. The IBCF nodes are part of a
>single deployment though - they accept traffic from and route traffic to
>other deployments according to their particular configuration.
>
>In your case below, the routes in the bgcf.json file need to be valid SIP
>URIs. Sprout has failed to parse the route 10.12.92.27 as a SIP URI, so
>it fell back to routing directly to example.com, which it couldn't
>resolve. Can you change the route to a valid SIP URI, reload Sprout and
>retry?
>
>Ellie
>
>-----Original Message-----
>From: [email protected]
>[mailto:[email protected]] On Behalf Of
>Kwon, Alan
>Sent: 08 May 2014 22:12
>To: [email protected]
>Subject: Re: [Clearwater] Tel URI
>
>Hi Ellie,
>
>I got few more questions regarding multi-domain setup. My domain is
>"cwims.iot1.com". I have a All-In-One deployment using "example.com", but
>I should be able to route my messages to any domain. I'm just using
>"example.com" to represent an external domain.
>
>First, do I have to specify "trusted_peers" in user_settings to enable
>IBCF functionality in Bono node? Also, do I have to define BGCF routing
>(bgcf.json) in Sprout? If so, this seems to imply that my deployment
>"cwims.iot1.com" will only route to domains specified in bgcf.json and
>likewise it'll only accept traffic from trusted_peers. Basically,
>subscribers in "cwims.iot1.com" can only communicate to other subscribers
>within the same domain or "example.com". Is this because in the real
>deployment, operators would only allow traffic to other operators that
>they would have some sort of agreement? Is IBCF host in bgcf.json
>expected to be some sort of a hub?
>
>For now, I went ahead and defined the following:
>
>bgcf.json
>{
>    "routes" : [
>        {   "name" : "Clearwater AIO",
>          "domain" : "example.com",
>          "route" : ["10.12.92.27"]
>        }
>    ]
>}
>
>And in example.com, I have user_settings:
>log_level=5
>trusted_peers="10.12.92.96"
>
>
>And you can see that Bono has IBCF enabled:
>bono     16704  0.1  2.5 827636 42216 ?        Sl   20:35   0:02
>/usr/share/clearwater/bin/bono --domain example.com --localhost
>10.12.92.27,10.12.92.27 --alias 10.12.92.27 --pcscf 5060,5058
>--webrtc-port 5062 --routing-proxy 10.12.92.27,5052,50,600 --sas
>0.0.0.0,[email protected] --pjsip-threads 1 --worker-threads 1 -a
>/var/log/bono -F /var/log/bono -L 5 --ibcf 10.12.92.96
>
>But, the routing is still failing. Below is the log from Sprout node
>(cwims.iot1.com).
>As you can see, ENUM translation successfully replaced request URI to
>sip:[email protected].
>Then bgcfservice.cpp does a lookup and found route to domain example.com.
>But, instead of just using 10.12.92.27 from the gbcf routing table, it
>does a DNS lookup on example.com and eventually it leads to failure. Is
>this a bug or am I missing something?
>
>08-05-2014 19:47:39.922 Debug stateful_proxy.cpp:2246: Translating URI
>08-05-2014 19:47:39.923 Debug dnsresolver.cpp:141: Sending DNS NAPTR
>query for 1.0.0.4.4.4.4.5.5.5.1.iot1.com
>08-05-2014 19:47:39.923 Debug enumservice.cpp:435: Got NAPTR record: 100
>10 "E2U+SIP" "U" "!^.*$!sip:[email protected]!"
>08-05-2014 19:47:39.923 Debug enumservice.cpp:70: Split regex into
>match=^.*$, replace=sip:[email protected]
>08-05-2014 19:47:39.923 Debug enumservice.cpp:375: Enum lookup completes:
>sip:[email protected]
>08-05-2014 19:47:39.923 Debug stateful_proxy.cpp:1808: Update request URI
>to sip:[email protected]
>08-05-2014 19:47:39.923 Info stateful_proxy.cpp:1594: Route request to
>domain example.com
>08-05-2014 19:47:39.923 Debug bgcfservice.cpp:132: Getting route for URI
>domain example.com via BGCF lookup
>08-05-2014 19:47:39.923 Info bgcfservice.cpp:138: Found route to domain
>example.com
>08-05-2014 19:47:39.923 Debug acr.cpp:48: Created ACR (0x7f3538044d20)
>08-05-2014 19:47:39.923 Debug stateful_proxy.cpp:3363: Allocating
>transaction and data for target 0
>08-05-2014 19:47:39.923 Debug pjsip: tsx0x7f353806a Transaction created
>for Request msg OPTIONS/cseq=18776 (tdta0x7f3538067420)
>08-05-2014 19:47:39.923 Debug stateful_proxy.cpp:3383: Adding trail
>identifier 103 to UAC transaction
>08-05-2014 19:47:39.923 Debug stateful_proxy.cpp:3402: Updating request
>URI and route for target 0
>08-05-2014 19:47:39.923 Debug stateful_proxy.cpp:3834: Resolve next hop
>destination
>08-05-2014 19:47:39.923 Debug pjutils.cpp:489: Next hop node is encoded
>in Request-URI
>08-05-2014 19:47:39.923 Debug sipresolver.cpp:85: SIPResolver::resolve
>for name example.com, port 0, transport -1, family 2
>08-05-2014 19:47:39.923 Debug baseresolver.cpp:480: Attempt to parse
>example.com as IP address
>08-05-2014 19:47:39.923 Debug sipresolver.cpp:144: Do NAPTR look-up for
>example.com
>08-05-2014 19:47:39.923 Debug ttlcache.h:171: Found the entry in the cache
>08-05-2014 19:47:39.923 Debug sipresolver.cpp:158: NAPTR resolved to
>transport 17
>08-05-2014 19:47:39.923 Debug sipresolver.cpp:295: Perform A/AAAA record
>lookup only, name = _sip._udp.example.com
>08-05-2014 19:47:39.923 Debug dnscachedresolver.cpp:136: Create cache
>entry pending query
>08-05-2014 19:47:39.924 Debug dnscachedresolver.cpp:148: Create and
>execute DNS query transaction
>08-05-2014 19:47:39.924 Debug dnscachedresolver.cpp:154: Wait for query
>responses
>08-05-2014 19:47:39.924 Debug dnscachedresolver.cpp:384: Received DNS
>response for _sip._udp.example.com type A
>08-05-2014 19:47:39.924 Debug dnscachedresolver.cpp:534: Adding
>_sip._udp.example.com to cache expiry list with expiry time of 0
>08-05-2014 19:47:39.924 Debug dnscachedresolver.cpp:158: Received all
>query responses
>08-05-2014 19:47:39.924 Debug dnscachedresolver.cpp:179: Pulling 0
>records from cache for _sip._udp.example.com A
>08-05-2014 19:47:39.924 Debug baseresolver.cpp:359: Found 0 A/AAAA
>records, randomizing
>08-05-2014 19:47:39.924 Debug baseresolver.cpp:418: Adding 0 servers from
>blacklist
>08-05-2014 19:47:39.924 Info pjutils.cpp:760: Resolved destination URI
>sip:[email protected] to 0 servers
>08-05-2014 19:47:39.924 Debug stateful_proxy.cpp:3883: Failed to send
>request (70006 Not found (PJ_ENOTFOUND))
>08-05-2014 19:47:39.924 Debug stateful_proxy.cpp:3025: tsx0x7f353806a438
>- Not forked request
>08-05-2014 19:47:39.924 Debug pjsip: tsx0x7f3538004 Sending Response msg
>408/OPTIONS/cseq=18776 (tdta0x7f3538005700) in state Trying
>
>
>
>Thank you,
>Alan
>
>
>
>On 5/7/14 4:02 PM, "Kwon, Alan" <[email protected]> wrote:
>
>>Hi Ellie,
>>
>>Thank you for the response. I'm using ENUM rules on BIND and I don't
>>have it fully working yet, but it's resolving to the correct domain now.
>>
>>OPTIONS sip:[email protected];user=phone SIP/2.0
>>From:
>><sip:[email protected]>;tag=gKgrZ1oLEpAy6AvtbdjYr.-dPR4PFRStTo:
>><sip:[email protected];user=phone>
>>
>>07-05-2014 19:54:45.636 Debug stateful_proxy.cpp:2246: Translating URI
>>07-05-2014 19:54:45.636 Debug dnsresolver.cpp:141: Sending DNS NAPTR
>>query for 1.0.0.4.4.4.4.5.5.5.1.iot1.com
>>07-05-2014 19:54:45.637 Debug enumservice.cpp:435: Got NAPTR record:
>>100
>>10 "E2U+SIP" "U" "!^.*$!sip:[email protected]!"
>>07-05-2014 19:54:45.637 Debug enumservice.cpp:70: Split regex into
>>match=^.*$, replace=sip:[email protected]
>>07-05-2014 19:54:45.637 Debug enumservice.cpp:375: Enum lookup completes:
>>sip:[email protected]
>>07-05-2014 19:54:45.637 Debug stateful_proxy.cpp:1808: Update request
>>URI to sip:[email protected]
>>07-05-2014 19:54:45.637 Info stateful_proxy.cpp:1594: Route request to
>>domain example.com
>>
>>
>>Thank you,
>>Alan
>>
>>
>>
>>
>>On 5/7/14 11:30 AM, "Eleanor Merry" <[email protected]> wrote:
>>
>>>Hi Alan,
>>>
>>>You can use ENUM and SIP URIs in your case below.
>>>
>>>You will need an ENUM rule that rewrites the domain of numbers that
>>>belong to DomainB, e.g. a jsonized version would be:
>>>{
>>>    "number_blocks" : [
>>>        {
>>>           "name" : "Numbers in DomainB",
>>>           "prefix" : "15554444",
>>>           "regex" : "!(^.*$)!sip:\\1@DomainB!"
>>>        }
>>>}
>>>
>>>Sprout receives an INVITE to "sip:+15554444001@DomainA". It pulls out
>>>'+15554444001' from the SIP URI, does an ENUM lookup on the number to
>>>see if the domain should be rewritten, finds the ENUM rule and
>>>rewrites DomainA to DomainB.
>>>
>>>Ellie
>>>
>>>
>>>
>>>-----Original Message-----
>>>From: Kwon, Alan [mailto:[email protected]]
>>>Sent: 07 May 2014 16:58
>>>To: Eleanor Merry; [email protected]
>>>Subject: Re: Tel URI
>>>
>>>Hi Ellie,
>>>
>>>The use case that I'm trying to test is a multi-domain use case. Let's
>>>say user A (1-555-444-3001) belongs to DomainA and B (1-555-444-4001)
>>>belongs to Domain B. When user A tries to reach out to user B, in the
>>>Contacts, A only has B's telephone number. If I configure the devices
>>>to use SIP URI, INVITE will be sent to "sip:+15554444001@DomainA" and
>>>since B belongs to DomainB, it obviously won't reach B.
>>>
>>>That's the reason I'm configuring the devices to use Tel-URI. So that
>>>Tel:+15554444001 would be translated by ENUM to
>>>sip:+15554444001@DomainB.
>>>So, is this type of multi-domain use case not currently supported by
>>>Clearwater?
>>>
>>>Thanks,
>>>Alan
>>>
>>>
>>>
>>>On 5/7/14 10:42 AM, "Eleanor Merry" <[email protected]>
>>>wrote:
>>>
>>>>Hi Alan,
>>>>
>>>>We don't currently support Tel-URIs.
>>>>
>>>>While Clearwater does have function to support ENUM lookups for a TEL
>>>>URI (INVITEs only), this function isn't tested as part of our QA (and
>>>>so there may be issues with it). We're expecting to add support for
>>>>TEL URIs in the future - in the meantime are you able to use SIP URIs?
>>>>
>>>>Clearwater also supports ENUM lookups for numbers embedded in a SIP
>>>>URI.
>>>>
>>>>Ellie
>>>>
>>>>-----Original Message-----
>>>>From: [email protected]
>>>>[mailto:[email protected]] On Behalf Of
>>>>Kwon, Alan
>>>>Sent: 06 May 2014 23:13
>>>>To: [email protected]
>>>>Subject: [Clearwater] Tel URI
>>>>
>>>>Hi,
>>>>
>>>>I know that in the WIKI
>>>>(https://github.com/Metaswitch/clearwater-docs/wiki/SIP-Interface-Spe
>>>>ci fic ations), it says Tel-URI is not supported, but I was under the
>>>>impression that you simply can't use the Tel-URI as your public URI,
>>>>but would be able to send a request out to a Tel-URI since there's a
>>>>support for ENUM server.
>>>>
>>>>I tried it today and I'm receiving 416.
>>>>
>>>>OPTIONS tel:+15554443001 SIP/2.0
>>>>From:
>>>><sip:[email protected]>;tag=sYys9XoDHolpvwEf7Jv2o9dQdDSP-Nbo
>>>>To: <tel:+15554443001>
>>>>
>>>>SIP/2.0 416 Unsupported URI Scheme
>>>>From:
>>>><sip:[email protected]>;tag=sYys9XoDHolpvwEf7Jv2o9dQdDSP-Nbo
>>>>To: <tel:+15554443001>;tag=z9hG4bKPjJqZHB7Oo3n7ITZ9BbVvlEpO5czHUA0y6
>>>>
>>>>So, Tel-URI is not supported at all? Then, what's the ENUM server
>>>>used for?
>>>>
>>>>Thanks,
>>>>Alan
>>>>
>>>>_______________________________________________
>>>>Clearwater mailing list
>>>>[email protected]
>>>>http://lists.projectclearwater.org/listinfo/clearwater
>>>
>>
>>_______________________________________________
>>Clearwater mailing list
>>[email protected]
>>http://lists.projectclearwater.org/listinfo/clearwater
>
>_______________________________________________
>Clearwater mailing list
>[email protected]
>http://lists.projectclearwater.org/listinfo/clearwater

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

Reply via email to