How do you do paging with CloudPBX?

**Update** – If you have Polycom phones they use a proprietary multicast signal and will not work with SNOM PA1.  Instead you can use Algo, here is a link to the solution, let us know if you need help implementing. 

http://www.algosolutions.com/pdf/brochures-polycom/Algo_8301_FF_Cloud%20Paging_160209.pdf

This post is to explain one potential way to page over phones and overhead speakers with CloudPBX.  This is NOT a Skype for Business online integrated solution, this means the Skype for Business client cannot do the paging.

What you’ll need

  1. Some AudioCodes phones, I’m using 440HD for testing
  2. A SNOM PA-1
  3. Overhead paging equipment

Drawing1

The AudioCodes phones can be setup to do multicast paging.  What this means is that all phones should be in the network and that network should not block multicast.  Once the phone is programmed for multicast and the paging button pushed your phone mic will turn on and you talk into it, because its multicast it sends the message in real time.  When done disconnect.  *WARNING* any multicast device setup in the multicast subnet and port will receive this message.  You wouldn’t want to configure your office phones for this and have overhead speakers in the office as well.  This is meant for office phones that need to be paged and you have a warehouse that has speakers.  I’ll show an alternative if this isn’t an ideal situation.

To get started program the AudioCodes phones.

  1. Login to the AudioCodes phone web interface as an admin.
  2. Go to Configuration –> Voice Over IP –> Services
  3. At the bottum you’ll want to enable paging.  *Note* if you want the page to interrupt the call you will want to enable “Barge-in”pic1
  4. Next configure the paging button, you can do this on the 440HD with the “Function Key”.  If you have a 420HD or a 450HD you’ll need to use the “Programmable Keys”. Go to Configuration –> Personal Settings –> Function Keys
  5. Program one of the keys for Paging.  Make special note of the “Paging Multicast” and “Paging Port”.  This is the network that multicast will be used on, DO NOT use a subnet that is in production such as 192.168.1.0.  pic2.jpg
  6. Save and move on to the SNOM PA1

You’ll want to login to the SNOM PA1, if you don’t know the ip address of the SNOM PA1 you can connect it to headphones or speakers and press the button next to the LED’s.  The PA1 will announce the IP address over the speakers.

  1. Make sure you are running an updated firmware
  2. Go to Advanced. Login with your password, the default is “0000”.
  3. Next go to SIP/RTP –> Multicast and enter the same multicast address and port that was programmed on the AudioCodes Phonesnompa1.png
  4. Save and you are all set

This is the behavior when paging

Drawing2

 

Now for the alternatives.  If you didn’t want the phones to receive the page there is potential to setup multiple multicast such as 224.0.1.0 and 224.0.2.0 or change the port in increments of one.  Each phone would have a different multicast address or port and the SNOM would have all of those in its list.  This would allow for each phone to page the SNOM (the overhead speakers) but not page each other.  Obviously this is not scalable but in a small environment it will work.

This is a stop gap until someone creates a device that can hand off to analog FXO or FXS and register directly to the cloud.  Hoping that happens soon!

Hopefully this helps solve the paging problem today and keeps Skype for Business Online moving forward for you!

AudioCodes SBC with Axtel SIP Trunk

I recently worked with a client who had a branch site in Mexico and decided to do an office move.  Part of this office move was getting new connectivity.  Axtel was the chosen carrier for Internet and SIP service because they are one of the largest providers in Mexico.  This was my first experience with Axtel and it was a bit rocky.  There are a couple of things I want to go through in this blog.

  1. How to setup an AudioCodes SBC to register to a SIP provider over the internet
  2. How to do message manipulation when your inbound invite and your To field do not match.

I won’t be covering how to configure the AudioCodes from scratch as there are many blogs on how to do this.

One note I’d like to make is that Axtel has two was to do registration.

  1. Each number/line has to register
  2. One registration for all numbers

From my testing it appears in order for a line or number to register it needs to place an outbound call, at which point Axtel sends a 401 not authorized and the SBC sends the authorization back.  This is not idea if you have inbound needs but no outbound needs. We have a few Auto Attendants and some Response Groups that wont be making outbound calls.  Therefore there will be no registration and the inbound side would never work for those numbers.  For these reasons we decided to choose the one registration for all numbers method.  I’ll explain the issue later that this presented.

First, to setup registration is simple.  You need to have the registration info which is a phone number, username, password, domain, and public IP address.

On the SBC go into Setup –> Signaling & Media –> SIP Definitions –> Accounts and click New

9b6d820c10

A couple quick things to note about the account setup.  The group at the top is your Served IP, this is who the registration is for (the PBX), in my case Skype for Business.  The Served IP Group is Axtel in my case, this is who you want to send the registration to.  Once you have the registration all setup and save the SBC will try and register.

The registration process is this.

  1. SBC sends SIP Trunk provider a register message containing the username only
  2. The SIP Trunk provider sends back a 401 unauthorized, this prompts the SBC to send back password information.
  3. The SBC sends username and password in MD5 hash to the SIP Trunk provider
  4. The SIP trunk provider registers

In the SBC you can go to Monitor at the top –> VOIP Status –> Registration Status and see your trunk is registered.

Pic2

Now that your SBC is registered you should be able to make and take calls.  In my case outbound calls were working as long as the phone number in the From field matched a DID in the range provided by Axtel.  Full disclosure Axtel provided a set of DID’s for the client to use, these were not configured and my outbound calls were getting a 403 forbidden.  Axtel likes to use a “test” set of DID’s before provisioning the real ones.  Once I had that list outbound calls were flowing just fine.

Now for the fun part, inbound calling.  When you decide to use one registration for all numbers with Axtel the Invite message shows the billing telephone number while the TO Field shows the actual called number.

For example calling DID 812xxxxxxxx36 while the billing number is 812xxxxxxxx35 shows this type of invite to the SBC

pic3.png

*NOTE* using private IP addressing so no need to hide that in the SBC message.

Because I like doing things the right way I configured an outbound manipulation rule towards my PBX (SFB) to add +52 to make the number E.164.  This caused the SBC to take the Invite number and place it in the TO Field.  The AC SBC “Destination Username Prefix” rule does not look at the invite field.

Here is an example if you use manipulation rules under Setup –> SBC –> Manipulation –> Outbound Manipulation

pic4

The result of this is below

pic5.png

We have to take this one step further and do a message manipulation on the invite header before we do the phone number manipulation.  Here is how.

Go to Setup –> Message Manipulation –> Message Manipulations –> New.  Create the below rule and Apply the “man set id” to your Axtel IP Group “Inbound” set.

pic6

Here is a table in case you need to copy paste.  You’ll have to excuse the horrible formatting.

Index Manipulation Name Man Set ID Message Type Condition Action Subject Action Type Action Value Row Role
4 Copy_DestNum_to_URI 3 invite.request   header.request-uri.url.user 2 (Modify) Header.To.Url.user 0 (Use Current Condition)

Once this last rule is applied calls flow inbound with no problem.

Hopefully this helps everyone dealing with a SIP trunk provider with this specific requirements.