FreePBX Trunk to Paging Server

Our school district currently uses a cloud-based VoIP provider. While it works most of the time, sometimes the provider goes down, leaving us not only without phones, but without intercoms, which is a serious safety issue. We have a SIP trunk with our provider that connects to a local SynApps paging server, which controls paging at most of our school sites.

I am working on a project where we will set up a FreePBX instance to have a set of internal phones. I’ve actually already set up the FreePBX and I have two phones successfully registered.

The next step is trying to figure out how to get the FreePBX to “talk” to the SynApps server so that paging can happen. What happens with our cloud provider is that we dial an extension, say 1960, which then rings a trunk extension 1999. That trunk talks to our paging server, which sees the dialed extension 1960, and activates multicast paging on that specific set of speakers. We have 8 different sites on there right now.

I’m waiting to get the SIP Credentials for our paging server, but once I do have that, can somebody give me an idea of how this could be set up in FreePBX?

Thank you for your help!

I don’t have any experience with SynApps but since this is locally, you might cut the entire SIP registration, and just use multicast.

Well, @PitzKey, let’s forget about the identity of the paging server for now. How do I configure a trunk that goes to some external SIP system, and configure an extension to activate that trunk?

You will use the credentials from the provider when you get them, then route 1960 to that trunk, using prefix 1960 and prepending 1999

@dicko Sounds great - precisely how do I do that?

Start here

You will find out ll sorts of of useful things to do with your PBX including how to build and use trunks.

I definitely got somewhere today. I was able to get the credentials for the SIP paging setup:

Destination Address: (IP Of Server)
Destination Port: 5060
Transport Type: UDP
Security: None
Default Telephony Event Payload Type: 101
DTMF Signaling Method: RFC2833 or SIP INFO

My SIP Trunk PEER info looks like this:

host=(IP Address)

Under Outbound Routes, I have a route set up for the trunk. Most of the options are default, but I did set:

Route Settings/Trunk Sequence for Matched Routes: Lists the SIP Trunk I created
Dial Patterns: Has 19600 in the prefix field, as that is the extension to dial to page

When I get on one of the phones and dial 19600, I get “All circuits are busy.”
When I do a verbose logging, I see many things, but the most telling is this:

== Spawn extension (from-trunk-sip-TrunkToSynApps, 19600, 1) exited non-zero on ‘SIP/TrunkToSynApps-00000011’
– SIP/TrunkToSynApps-00000011 Internal Gosub(func-apply-sipheaders,s,1) complete GOSUB_RETVAL=
– Called SIP/TrunkToSynApps/
– Got SIP response 500 “Server Internal Error” back from (IP Address):5060
– SIP/TrunkToSynApps-00000011 is circuit-busy

Based on the information I have provided, is there an error in my PEER configuration, or is this something that is a problem with the server?

The 500 error indicates that the SynApps couldn’t process the INVITE from the PBX, but it doesn’t say what was wrong.

There are several possibilities. First, confirm that the Prepend field of your Outbound Route has whatever number the SynApps expects as a destination (your first post used 1999 as an example).

Next, the SynApps might be fussy about codecs. Try adding
to your PEER settings.

Conceivably, you’re running afoul of some security setting (it will only accept requests from your cloud provider), though the proper response for that should be 403 Forbidden, not the 500 you’re getting.

If no luck, at the Asterisk command prompt type
sip set debug on
and make a failing call. Possibly, the SynApps will give some detail about the error in its 500 response. Or, you might be able to spot something wrong with the INVITE.

If still no luck, one approach is to see what your cloud provider sends and make your PBX do the same. You could either capture their traffic to/from the SynApps (port monitor/mirroring on a managed switch, packet capture in router, etc.), or you could ask the provider for a SIP trace. Or, perhaps SynApps documentation or support will help.

@Stewart1 That seems to have helped! Dialing the extension now triggers the trunk and the paging is working. I hear the announce tone and my own voice on the IP speakers at the school site I’m paging to.

The only thing that isn’t working is that I’m not getting the confirmation tone back on the phone (the solid tone that basically says, “you’re live, start talking”). But if a person were on campus dialing this, they would know when they could talk because the hear the announce tone over the speakers anyways.

This could be a NAT one-way audio problem (unless your last problem was solved by a Codec change). You can watch your network traffic for the RTP response from the paging system and make sure it’s getting set up correctly.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.