Jump to content
2600Hz Community

Kazoo in Azure - Is it supported/does it work?


Shah
 Share

Recommended Posts

Hi all,

Is there a guide / how to on setting up Kazoo in Azure?   
If not, does anyone want to help me create one for the community? If I'm building the environment in Azure, I might  as well share the lessons learnt.  

I heard that as the public IP is not visible inside the VM, the out of the box config does not work?

Any inputs are welcome.

Cheers

Link to comment
Share on other sites

16 minutes ago, Shah said:

Hi all,

Is there a guide / how to on setting up Kazoo in Azure?   
If not, does anyone want to help me create one for the community? If I'm building the environment in Azure, I might  as well share the lessons learnt.  

I heard that as the public IP is not visible inside the VM, the out of the box config does not work?

Any inputs are welcome.

Cheers

Check this out: 

 

https://upcloud.com/compare/azure/

https://upcloud.com/pricing/

Link to comment
Share on other sites

I don't think he is looking for alternatives to Azure.  He wants to know how to get Kazoo to work within Azure Cloud.

The only issue I can think of is Kamailio not being able to bind to the external IP.  Does anyone have config examples of how to use Kamailio when it cannot bind to the external IP?  I know someone had got Kazoo working within Docker which would have required a similar type of config.

Link to comment
Share on other sites

2 minutes ago, fmateo05 said:

@Shah

I sent you a DM.

I know @Shah personally, and I know that he is a Microsoft partner and works with Microsoft solutions on a daily basis.  If your DM doesn't involve getting Kazoo working in Azure, it will not be useful.  If it is about getting Kazoo working in Azure, please do share for the community.

 

Link to comment
Share on other sites

The below works in AWS.  I haven't worked much with Azure's networking environment, but I can't imagine (well, I can, it's Microsoft) that the DNAT / SNAT workings are too different.  Assign PUB IP to instance/interface, then just change the below configs in Kamailio and Freeswitch.  If you're using an all-in-one, then you'll just need one PUB.  I've got a clustered setup going with my Kama and FS instances separate. 

On Freeswitch -  Remember FS trunks directly out of the cluster.  It does not route out back through Kamailio.  

nano /etc/kazoo/freeswitch/sip_profiles/sipinterface_1.xml

Set <param name="ext-rtp-ip" value="auto"/>   to    <param name="ext-rtp-ip" value="x.x.x.x."/>     (x.x.x.x is the external IP you have assigned to this instance)

Set <param name="local-network-acl" value="localnet.auto"/>  to   <param name="local-network-acl" value="NOPE"/> # “NOPE” doesn't matter, just not localnet.auto

On Kamailio

nano /etc/kazoo/kamailio/local.cfg  

Should be down at the bottom of the file.  The advertise flag essentially tells Kamailio what to change the IP to when it detects NAT.

listen=UDP_SIP advertise x.x.x.x:5060 
listen=TCP_SIP advertise x.x.x.x:5060

(where x.x.x.x is your public IP address you assigned)

I believe that's it.  Hopefully that'll help.

 

Link to comment
Share on other sites

Thanks @Meat, that does look promising, I'll try it out and share for everyone to know. 
@fmateo05, thanks for the DM and the tip, for now I'm not evaluating other cloud providers, but I'll keep upcloud in mind.

Link to comment
Share on other sites

On 1/20/2021 at 10:09 AM, Meat said:

The below works in AWS.  I haven't worked much with Azure's networking environment, but I can't imagine (well, I can, it's Microsoft) that the DNAT / SNAT workings are too different.  Assign PUB IP to instance/interface, then just change the below configs in Kamailio and Freeswitch.  If you're using an all-in-one, then you'll just need one PUB.  I've got a clustered setup going with my Kama and FS instances separate. 

On Freeswitch -  Remember FS trunks directly out of the cluster.  It does not route out back through Kamailio.  

nano /etc/kazoo/freeswitch/sip_profiles/sipinterface_1.xml


Set <param name="ext-rtp-ip" value="auto"/>   to    <param name="ext-rtp-ip" value="x.x.x.x."/>     (x.x.x.x is the external IP you have assigned to this instance)

Set <param name="local-network-acl" value="localnet.auto"/>  to   <param name="local-network-acl" value="NOPE"/> # “NOPE” doesn't matter, just not localnet.auto

On Kamailio

nano /etc/kazoo/kamailio/local.cfg  

Should be down at the bottom of the file.  The advertise flag essentially tells Kamailio what to change the IP to when it detects NAT.


listen=UDP_SIP advertise x.x.x.x:5060 
listen=TCP_SIP advertise x.x.x.x:5060

(where x.x.x.x is your public IP address you assigned)

I believe that's it.  Hopefully that'll help.

 

Can confirm, applied these settings to a sandbox deployment without a bindable external IP and everything worked perfect.

Link to comment
Share on other sites

  • 3 months later...
  • 6 months later...

Hi again!
I have the same issue again, now with another carrier that connects via VPN (AWS Direct Connect) and not through the public internet.
They can't reach our external IP, so it's not useful here.

What IP should I use in the configs?

Br Tomas

Link to comment
Share on other sites

Thanks!
Yes, that seems to work, but only for the traffic to/from the carrier.
SIP clients dosen't have any sound, because the internal IP isn't reachable from the outside.

I will start a new thread with that issue: https://forums.2600hz.com/forums/topic/12691-dual-media-gw-address-signalling

Br Tomas


 

Edited by tomas_ (see edit history)
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...