How to call two extensions between two Kazoo server

275 views
Skip to first unread message

emnvn

unread,
Feb 28, 2017, 7:22:37 AM2/28/17
to 2600hz-dev
Hi all,

I m trying to make call between two extension in two Kazoo instance. Example:

Kazoo Instance 1:
- User: 300
- Realm: ippbx.domain1.com

Kazoo Instance 2:
- User: 400
- Realm: ippbx.domain2.com

I want to make call between these above extension. This is all steps which I do:

Step1: Add  IP to ACL on two Kazoo instance, so that This kazoo instance will accept IP from the other Kazoo instance and vice versa: This step is ok
Step 2: on Kazoo instance 1 I add a device with sip_uri type is : sip:4...@ippbx.domain2.com
Step 3: I add a callflow that will call to the device on step 2 
Step 4: on Kazoo instance 2 I add a callflow with extension 400 that will play a media file.

After that I use softphone  Jitsi that device 3...@ippbx.domain1.com is logged in and call to extension that created on step 3. The result I saw that "Does Not Exist Anywhere". I have seen log on Kazoo instance 2:


2017-02-28 08:51:22.624228 [NOTICE] switch_channel.c:1104 New Channel sofia/sipinterface_1/3...@ippbx.domain1.com [146ee9d8-fd93-11e6-9202-05947900bc0c]
2017-02-28 08:51:22.624228 [INFO] mod_dialplan_xml.c:637 Processing device301 <300>->400 in context context_2
2017-02-28 08:51:22.774226 [INFO] kazoo_node.c:837 exec: kz_uuid_setvar_multi(146ee9d8-fd93-11e6-9202-05947900bc0c ecallmgr_Call-Interaction-ID=63655491082-eaf6425f)
2017-02-28 08:51:25.584213 [NOTICE] mod_dptools.c:1721 log|146ee9d8-fd93-11e6-9202-05947900bc0c|kazoo...@ippbx-node1.domain2.com won call control
2017-02-28 08:51:25.584213 [NOTICE] mod_sofia.c:2184 Hangup sofia/sipinterface_1/3...@ippbx.domain1.com  [CS_EXECUTE] [NO_ROUTE_DESTINATION]
2017-02-28 08:51:25.584213 [NOTICE] switch_core_session.c:1682 Session 75 (sofia/sipinterface_1/3...@ippbx.domain1.com ) Ended
2017-02-28 08:51:25.584213 [NOTICE] switch_core_session.c:1686 Close Channel sofia/sipinterface_1/3...@ippbx.domain1.com  [CS_DESTROY]

I don't know how to call between two Kazoo instance

Hope that some one call help me.

Thanks very much

Sergey Safarov

unread,
Mar 1, 2017, 3:55:49 PM3/1/17
to 2600hz-dev
You can use PBX connector and resources gateway in kazoo-app.

altm

unread,
Mar 2, 2017, 7:12:12 PM3/2/17
to 2600hz-dev
On each one of the nodes, set a trunk as it was a carrier, create a dialplan to route these calls from once instance to the other and fix the ACL accordingly.

There is some dialplan work you need to do to achieve this

Since everything within Kazoo is based on E164 rules,  the suggestion is to use the Dialplan to prefix the corresponding country code and area code to your extension .. i.e    +44 3 0000300    then remove the prefix in the other end by creating a pattern call flow in order to match  something of the form +443000XXX  so you can use the same single rule for each one of your extensions... 

Good luck
   

On Tuesday, February 28, 2017 at 11:22:37 PM UTC+11, emnvn wrote:
Hi all,

I m trying to make call between two extension in two Kazoo instance. Example:

Kazoo Instance 1:
- User: 300
- Realm: ippbx.domain1.com

Kazoo Instance 2:
- User: 400
- Realm: ippbx.domain2.com

I want to make call between these above extension. This is all steps which I do:

Step1: Add  IP to ACL on two Kazoo instance, so that This kazoo instance will accept IP from the other Kazoo instance and vice versa: This step is ok
Step 2: on Kazoo instance 1 I add a device with sip_uri type is : sip...@ippbx.domain2.com

emnvn

unread,
Mar 3, 2017, 7:32:26 AM3/3/17
to 2600hz-dev
Hi altm,

Thanks for your response.
I can trunking two Kazoo now, I have worked steps which are similar to your suggestion. But one problem happen, the call auto hangup after 32 seconds. I have dumped packets with tshark the result I saw that telephone-event send to the internal IP instead of Public IP. I think that is the reason of auto hangup after 30 seconds.


With kazoo version 3.22, I must advertise public IP in Kamailio config but It is not necessary in Kazoo4. I don't know whether it is the problem or not.

One more question, I don't know what is the role of PBX Connection App, I can trunking with other pbx without a PBX connector.

Thanks very much!
Auto Generated Inline Image 1

Sergey Safarov

unread,
Mar 3, 2017, 2:24:01 PM3/3/17
to 2600hz-dev
This type of issues related to nat or firewall.
Are is used nat? Firewall?

emnvn

unread,
Mar 4, 2017, 10:42:58 AM3/4/17
to 2600hz-dev
I have fixed that. I have to config kamailio avertise public IP. It is ok now.

Thanks all.

altm

unread,
Mar 5, 2017, 7:47:41 PM3/5/17
to 2600hz-dev
Hi,   yes 30 secs is the default timeout on SIP when the ACK is not received, as per your description above, it looks like the conflict with the private IP trying to use the public interface.  In such case, you can solve it by using the public IP as you already did, or you can add more complexity and declare a second SIP profile in Freeswitch (sipinterface_2) using the private IP and declare this in the configuration of the trunk as a custom_interface.  That will force all traffic via that trunk to use the sipinterface_2.  




On Tuesday, February 28, 2017 at 11:22:37 PM UTC+11, emnvn wrote:
Hi all,

I m trying to make call between two extension in two Kazoo instance. Example:

Kazoo Instance 1:
- User: 300
- Realm: ippbx.domain1.com

Kazoo Instance 2:
- User: 400
- Realm: ippbx.domain2.com

I want to make call between these above extension. This is all steps which I do:

Step1: Add  IP to ACL on two Kazoo instance, so that This kazoo instance will accept IP from the other Kazoo instance and vice versa: This step is ok
Step 2: on Kazoo instance 1 I add a device with sip_uri type is : sip...@ippbx.domain2.com
Reply all
Reply to author
Forward
0 new messages