Hi Paul,

Ellie is away at the moment, so I will answer in her place. 

Your bgcf.json and trusted_peers settings look correct (assuming that 
192.168.1.212 is the IP address of the I-BCF in aplabs, and 192.168.1.222 is 
the address of the I-BCF if aplabs2)

In the most recent logs you sent Ellie noticed that the DNS lookup of 
bono.aplabs.com was returning zero records. I suspect this is still the 
problem. Could you share the following diagnostics?

-  The output of running "dig bono.aplabs.com" from your sprout node. 
-  Sprout logs for an attempted call from aplabs -> aplabs2.
-  A network capture for port 53 taken from the sprout node during the 
attempted call. Gather this by running "sudo tcpdump -s 0 -i any -w 
~/dnstrace.pcap port 53" on your sprout node. It will produce a file called 
"dnstrace.pcap" in your home directory. 

Thanks,
Alex.

-----Original Message-----
From: [email protected] 
[mailto:[email protected]] On Behalf Of Paul Sun
Sent: 03 November 2014 10:17
To: Eleanor Merry
Cc: [email protected]
Subject: Re: [Clearwater] Handling Multi Domain on Clearwater

Hi Ellie

I would like to follow this post again.

What I wanted to achieve to allow Clearwater deployment 'A' and you wanted it 
to accept traffic from Clearwater deployment 'B' then you would put the IP 
address of the IBCF in deployment B in the trusted_peers list on the IBCF in 
deployment A (and vice versa).

So, I have two I-BCF, two P-CSCF and two S-CSCF.

In CSCF, the bgcf.json configuration is show below.

[sprout]ims@C-CSCF-01:/etc/clearwater$ cat  bgcf.json {
    "routes" : [
            { "name" : "Routing to IMS-02",
              "domain" : "aplabs2.com",
              "route"  : 
["sip:bono.aplabs.com:5058","sip:bono.aplabs2.com:5060"]
            }
    ]
}

[sprout]ims@S-CSCF-02:/etc/clearwater$ cat bgcf.json {
    "routes" : [
            { "name" : "Routing to IMS-01",
              "domain" : "aplabs.com",
              "route"  : 
["sip:bono.aplabs2.com:5058","sip:bono.aplabs.com:5060"]
            }
    ]
}

In I-BCF, the user_settings is shown below.
[bono]imsa@I-BCF-01:/etc/clearwater$ cat user_settings 
trusted_peers="192.168.1.222"

[bono]imsa@I-BCF-02:/etc/clearwater$ cat user_settings 
trusted_peers="192.168.1.212"

When I am tryting to make a call from aplabs.com to aplab2.com, I didn't see 
messages on both I-BCF, any idea?


-          PS


From: Eleanor Merry [mailto:[email protected]]
Sent: Tuesday, July 15, 2014 9:26 PM
To: Paul Sun
Cc: [email protected]
Subject: RE: Handling Multi Domain on Clearwater

Hi Paul,

What does the nslookup for bono.aplabs.com return when you run it on the Sprout 
node? Is the IP address IPv4 or IPv6?
Can you also get network trace (as a .cap file) from the sprout node during the 
request on port 53?

Thanks,

Ellie

From: Paul Sun [mailto:[email protected]]
Sent: 15 July 2014 13:16
To: Eleanor Merry
Cc: 
[email protected]<mailto:[email protected]>
Subject: RE: Handling Multi Domain on Clearwater

Hi Ellie
I do a nslookup bono.aplabs.com, and it shows the correct ip.

Anything i.m missing?

Paul

-------- Original message --------
From: Eleanor Merry
Date:2014/07/15 20:12 (GMT+08:00)
To: Paul Sun
Cc: 
[email protected]<mailto:[email protected]>
Subject: RE: Handling Multi Domain on Clearwater

Hi Paul,

The request is failing as Sprout doesn't know how to route to 
sip:bono.aplabs.com:5058. The relevant section of the logs are:

15-07-2014 09:21:03.646 Debug dnscachedresolver.cpp:158: Received all query 
responses
15-07-2014 09:21:03.646 Debug dnscachedresolver.cpp:179: Pulling 0 records from 
cache for bono.aplabs.com A
15-07-2014 09:21:03.646 Debug baseresolver.cpp:359: Found 0 A/AAAA records, 
randomizing
15-07-2014 09:21:03.646 Debug baseresolver.cpp:418: Adding 0 servers from 
blacklist
15-07-2014 09:21:03.646 Info pjutils.cpp:734: Resolved destination URI 
sip:bono.aplabs.com:5058 to 0 servers
15-07-2014 09:21:03.646 Debug stateful_proxy.cpp:4199: Failed to send request 
(70006 Not found (PJ_ENOTFOUND))

Sprout was unable to resolve bono.aplabs.com so it couldn't send the request. 
Can you ensure that Sprout is able to resolve bono.aplabs.com and retry?

Ellie

-----Original Message-----
From: Paul Sun [mailto:[email protected]]
Sent: 15 July 2014 10:34
To: Paul Sun; Eleanor Merry
Cc: 
[email protected]<mailto:[email protected]>
Subject: RE: Handling Multi Domain on Clearwater

Hi Ellie

I have problem to make S-CSCF in domain 1 to forward request to domain 2.

In my bgcf.json in domain 1. I configured like below

{
    "routes" : [
        { "name" : "Routing to IMS02",
          "domain" : "aplabs2.com",
          "route"  : ["sip:bono.aplabs.com:5058","sip:bono.aplabs2.com:5060"]
        }
    ]
}

It seems that there is problem on this messages
15-07-2014 09:21:03.646 Debug stateful_proxy.cpp:4199: Failed to send request 
(70006 Not found (PJ_ENOTFOUND))


15-07-2014 09:21:03.641 Debug aschain.cpp:206: No ASs left in chain
15-07-2014 09:21:03.641 Info stateful_proxy.cpp:2833: Originating services 
disposition 2
15-07-2014 09:21:03.641 Info stateful_proxy.cpp:1771: Route request to domain 
aplabs2.com
15-07-2014 09:21:03.642 Debug bgcfservice.cpp:132: Getting route for URI domain 
aplabs2.com via BGCF lookup
15-07-2014 09:21:03.642 Info bgcfservice.cpp:138: Found route to domain 
aplabs2.com
15-07-2014 09:21:03.642 Debug stateful_proxy.cpp:1797: Adding route: 
sip:bono.aplabs.com:5058
15-07-2014 09:21:03.642 Debug stateful_proxy.cpp:1797: Adding route: 
sip:bono.aplabs2.com:5060
15-07-2014 09:21:03.642 Debug acr.cpp:1480: Create RalfACR for node type BGCF 
with role Terminating
15-07-2014 09:21:03.642 Debug acr.cpp:48: Created ACR (0x7f272025eed0)
15-07-2014 09:21:03.642 Debug acr.cpp:195: Created BGCF Ralf ACR
15-07-2014 09:21:03.642 Debug acr.cpp:274: Set record type for I-CSCF, BGCF, 
IBCF, AS to EVENT_RECORD
15-07-2014 09:21:03.642 Debug stateful_proxy.cpp:3677: Allocating transaction 
and data for target 0
15-07-2014 09:21:03.643 Debug pjsip: tsx0x7f2720262 Transaction created for 
Request msg INVITE/cseq=1 (tdta0x7f272025f1f0)
15-07-2014 09:21:03.643 Debug stateful_proxy.cpp:3697: Adding trail identifier 
561 to UAC transaction
15-07-2014 09:21:03.643 Debug stateful_proxy.cpp:3716: Updating request URI and 
route for target 0
15-07-2014 09:21:03.643 Debug stateful_proxy.cpp:4112: Adding a Route header to 
sip:bono.aplabs.com:5058;transport=
15-07-2014 09:21:03.643 Debug stateful_proxy.cpp:4112: Adding a Route header to 
sip:bono.aplabs2.com:5060;transport=
15-07-2014 09:21:03.643 Debug stateful_proxy.cpp:4150: Resolve next hop 
destination
15-07-2014 09:21:03.643 Debug pjutils.cpp:463: Next hop node is encoded in top 
route header
15-07-2014 09:21:03.643 Debug sipresolver.cpp:85: SIPResolver::resolve for name 
bono.aplabs.com, port 5058, transport -1, family 2
15-07-2014 09:21:03.643 Debug baseresolver.cpp:480: Attempt to parse 
bono.aplabs.com as IP address
15-07-2014 09:21:03.644 Debug sipresolver.cpp:127: Port is specified
15-07-2014 09:21:03.644 Debug sipresolver.cpp:295: Perform A/AAAA record lookup 
only, name = bono.aplabs.com
15-07-2014 09:21:03.644 Debug dnscachedresolver.cpp:551: Removing record for 
sprout.aplabs.com (type 1, expiry time 0) from the expiry list
15-07-2014 09:21:03.644 Debug dnscachedresolver.cpp:564: Expiring record for 
sprout.aplabs.com (type 1) from the DNS cache
15-07-2014 09:21:03.644 Debug dnscachedresolver.cpp:136: Create cache entry 
pending query
15-07-2014 09:21:03.645 Debug dnscachedresolver.cpp:148: Create and execute DNS 
query transaction
15-07-2014 09:21:03.646 Debug dnscachedresolver.cpp:154: Wait for query 
responses
15-07-2014 09:21:03.646 Debug dnscachedresolver.cpp:384: Received DNS response 
for bono.aplabs.com type A
15-07-2014 09:21:03.646 Debug dnscachedresolver.cpp:534: Adding bono.aplabs.com 
to cache expiry list with expiry time of 0
15-07-2014 09:21:03.646 Debug dnscachedresolver.cpp:158: Received all query 
responses
15-07-2014 09:21:03.646 Debug dnscachedresolver.cpp:179: Pulling 0 records from 
cache for bono.aplabs.com A
15-07-2014 09:21:03.646 Debug baseresolver.cpp:359: Found 0 A/AAAA records, 
randomizing
15-07-2014 09:21:03.646 Debug baseresolver.cpp:418: Adding 0 servers from 
blacklist
15-07-2014 09:21:03.646 Info pjutils.cpp:734: Resolved destination URI 
sip:bono.aplabs.com:5058 to 0 servers
15-07-2014 09:21:03.646 Debug stateful_proxy.cpp:4199: Failed to send request 
(70006 Not found (PJ_ENOTFOUND))
15-07-2014 09:21:03.646 Debug stateful_proxy.cpp:3337: tsx0x7f2720262208 - Not 
forked request
15-07-2014 09:21:03.646 Debug acr.cpp:583: Failed to start session, change 
record type to EVENT_RECORD
15-07-2014 09:21:03.646 Debug pjsip: tsx0x7f272015f Sending Response msg 
408/INVITE/cseq=1 (tdta0x7f272024cea0) in state Proceeding
15-07-2014 09:21:03.646 Debug pjsip: tdta0x7f272024 Destroying txdata Response 
msg 100/INVITE/cseq=1 (tdta0x7f272024ee60)
15-07-2014 09:21:03.646 Verbose stack.cpp:242: TX 639 bytes Response msg 
408/INVITE/cseq=1 (tdta0x7f272024cea0) to TCP 192.168.1.212:38633:
--start msg--


-----Original Message-----
From: 
[email protected]<mailto:[email protected]>
 [mailto:[email protected]] On Behalf Of Paul Sun
Sent: Monday, July 14, 2014 10:58 AM
To: Eleanor Merry
Cc: 
[email protected]<mailto:[email protected]>
Subject: Re: [Clearwater] Handling Multi Domain on Clearwater

Hi Ellie

>From your forst statement, do you mean that each deployment should have its 
>own I-BCF?

Thanks

- PS

-----Original Message-----
From: Eleanor Merry [mailto:[email protected]]
Sent: Friday, July 04, 2014 1:08 AM
To: Paul Sun
Cc: 
[email protected]<mailto:[email protected]>
Subject: RE: Handling Multi Domain on Clearwater

Hi Paul,

You should put in the trusted_peers the addresses of nodes that Bono will 
accept traffic from. For example, if you have Clearwater deployment 'A' and you 
wanted it to accept traffic from Clearwater deployment 'B' then you would put 
the IP address of the IBCF in deployment B in the trusted_peers list on the 
IBCF in deployment A (and vice versa).

For the ENUM configuration you don't need to change the dnsmasq.resolv.conf 
file; changing this to point to the ENUM server will mean that the node can 
only resolve entries that are in the ENUM server (this is probably what's 
causing the problem you mentioned in a different email that Sprout couldn't 
route to domain names). Instead, you can change /etc/dnsmasq.d/enum-forwarding 
to include server=/e164.arpa/<IP address> and restart dnsmasq - see 
https://github.com/Metaswitch/clearwater-docs/wiki/ENUM#dnsmasq.

For the BGCF configuration you should put in the IBCF nodes that are used to 
route to a particular destination. For example, take the case where you have 
two Clearwater deployments (again called A and B), you want to route an INVITE 
from A to B and Clearwater B is setup so that the IBCF in Clearwater A is a 
trusted peer. The bgcf.json file on A will look like:
{
    "routes" : [
        {   "name" : "Routing to deployment B",
            "domain" : "b.domain",
            "route" : ["sip:a.domain:5058", "sip:b.domain:5060"]
        },
    ]
}

The routes are valid SIP URIs. The first entry is the bono node on deployment A 
(on the trusted port), and the second entry is the bono node on deployment B 
(on the untrusted port). This is necessary as the Sprout on Clearwater A can't 
simply route to Clearwater B, as Clearwater B will only accept traffic from a 
node on its trusted_peers list.

Hope this helps,

Ellie


 -----Original Message-----
From: Paul Sun [mailto:[email protected]]
Sent: 03 July 2014 10:57
To: Eleanor Merry
Subject: RE: Handling Multi Domain on Clearwater

Hi Ellie

I need more information on how to setup the I-BCF, I installed the node using 
manual installation, and install the bono package as described in the link.

>From the information, after I installed the BONO with the 
>/etc/clearwater/config, I should create the /etc/clearwater/user_settings, I 
>would like to know whether below format is correct? the SIP trunk IP addresss 
>is P-CSCF address or I/S-CSCF address?

trusted_peers="<P-CSCF-01 IP address>,< P-CSCF-02 IP address>,< P-CSCF-03 IP 
address>"

Followed with the above configuration, I should setup the ENUM server, and make 
sure dnsmar.resolve.conf is pointing to this ENUM server.

On the ENUM server, I have a question, assumed I have below mapping

*.8 IN NAPTR 1 1 "u" "E2U+sip" "!(^.*$)!sip:\\[email protected]!" .
*.6 IN NAPTR 1 1 "u" "E2U+sip" "!(^.*$)!sip:\\1@<P-CSCF-02 IP address>!" .

Can I configured like below? Any additional setup required?

*.8 IN NAPTR 1 1 "u" "E2U+sip" "!(^.*$)!sip:\\[email protected]!" .
*.6 IN NAPTR 1 1 "u" "E2U+sip" "!(^.*$)!sip:\\[email protected]>!" .

Also, it seems that I also need to enable BGCF config in SPROUT, can you 
provide a sample to me as I am not sre what is ["<IBCF SIP URI>"]. If I am not 
wrong, it seems that I need to define like below.

{
    "routes" : [
        {   "name" : "domain1",
            "domain" : "P-CSCF-01 IP address",
            "route" : ["<IBCF SIP URI>"]
        },
        {   "name" : "domain2",
            "domain" : "P-CSCF-02 IP address ",
            "route" : ["<IBCF SIP URI>", "<IBCF SIP URI>"]
        }
    ]
}

Please help

-PS
-----Original Message-----
From: Eleanor Merry [mailto:[email protected]]
Sent: Thursday, July 03, 2014 1:34 AM
To: Paul Sun
Subject: RE: Handling Multi Domain on Clearwater

Hi Paul,

Can you clarify what the scenario is here?

If you want your Clearwater subscribers to receive INVITEs from external 
subscribers, then you need to allow requests from the external deployment. You 
can do this by adding the external IBCF as a trusted peer to Bono - see 
https://github.com/Metaswitch/clearwater-docs/wiki/IBCF for details of how to 
set this up.

If you want your Clearwater subscribers to send INVITEs to external subscribers 
then you may also need to set up appropriate ENUM rules to map from a telephone 
number (either a TEL URI or embedded in a SIP URI) to the correct domain. You 
mayl also need to set up a BGCF to match on domain and determine the route to 
follow (i.e. which Route headers to apply). Details of how to set this up are 
at https://github.com/Metaswitch/clearwater-docs/wiki/IBCF. For ENUM, there is 
more detailed documentation (including how to set up your own ENUM server) at 
https://github.com/Metaswitch/clearwater-docs/wiki/ENUM.

Hope this helps,

Ellie

-----Original Message-----
From: 
[email protected]<mailto:[email protected]>
 [mailto:[email protected]] On Behalf Of Paul Sun
Sent: 02 July 2014 04:01
To: 
[email protected]<mailto:[email protected]>
Subject: [Clearwater] Handling Multi Domain on Clearwater

Hi

I would like to know whether I can configured Clearwater to handling 
multidomain connection?

Assumed the SIP request is coming from different I-BCF, i.e. the domain is 
different.

Please comment.

Thanks

- PS


_______________________________________________
Clearwater mailing list
[email protected]<mailto:[email protected]>
http://lists.projectclearwater.org/listinfo/clearwater
_______________________________________________
Clearwater mailing list
[email protected]<mailto:[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