Hi Paul, How we've seen SIP clients typically work is that if you dial a number (say +1550000001) then the SIP client can generate a Tel URI (tel:+15550000001) or a SIP URI (sip:[email protected];user=phone). As these URIs represent numbers, we use ENUM to convert them to SIP URIs with the correct domain.
One problem we've found is that SIP clients don't typically add the user=phone parameter when they should, meaning that we can't rely on this parameter to decide when to perform ENUM lookups. Instead our default is that a request to a SIP URI that belongs to the home domain will have an ENUM lookup performed. If the ENUM lookup doesn't find anything then Sprout simply continues to process the request without changing it. You can enforce that ENUM lookups are only performed on SIP URIs by adding enforce_user_phone=Y to /etc/clearwater/config on Sprout and restarting it, but this should only be done if you can ensure that the clients will supply user=phone on SIP URIs representing phone numbers. We've put out a spec detailing our treatment of SIP URIs and Tel URIs - you can see it at https://www.mail-archive.com/[email protected]/msg00505.html. Also, for your 3rd point, I think Sprout can't route to the domain name because it isn't in the ENUM server. You mentioned in a different email that you'd changed the dnsmasq.resolv.conf file; instead if you change the /etc/dnsmasq.d/enum-forwarding file you won't lose the DNS resolving (please see my other email for more detail). Ellie -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Paul Sun Sent: 03 July 2014 07:30 To: [email protected] Subject: [Clearwater] SPROUT on handling internal and external subscribers Hi I have followed the ENUM Guide https://github.com/Metaswitch/clearwater-docs/wiki/ENUM, and now, the SPROUT seems able to perform searching on different domain, below is my observations from my setup. - I have two SIP clients are already registered in SPROUT, says 85200000000 (A) and 85211111111 (B). They are in the same domain. - When SIP Client A calls Client B, SPROUT send DNS query on querying 1.1.1.1.1.1.1.1.e164.arpa, and there is no entry is configured in the ENUM server, and ENUM server response "no such name" - SPROUT then route the INVITE to SIP Client B. - When SIP Client A calls a client that are not in the same domain, SPROUT send DNS query on querying, says 8.8.8.8.8.e164.arpa, and this entry is configured in the ENUM server, and server response with Regex: "!(^.*$)!sip:\\[email protected]!" (this is what I have configured in the ENUM server 8.8.8.8.8 IN NAPTR 1 1 "u" "E2U+sip" "!(^.*$)!sip:\\[email protected]!" . - SPROUT then route the INVITE to node with IP 192.168.206.112. Questions 1. Does the above observation correct? 2. Is it a MUST to lookup the ENUM server if the number is in the same domain? 3. For the number not in the same domain, if I use a domain name instead of IP address, i.e. using "8.8.8.8.8 IN NAPTR 1 1 "u" "E2U+sip" "!(^.*$)!sip:\\[email protected]!" .", what additional setup I need to added? I tried to configure this, but it seems that SPROUT do not know how to route the INVITE if domain name is used. Is it related to enum.json? 4. What is the normal way to make call in SIP Client, is it a number or a number with domain name ([email protected])? Please help - PS _______________________________________________ Clearwater mailing list [email protected] http://lists.projectclearwater.org/listinfo/clearwater _______________________________________________ Clearwater mailing list [email protected] http://lists.projectclearwater.org/listinfo/clearwater
