Paging to Multiple PBXs (FreePBX and 3rd party)

I’m trying to see if there is a way to setup a page group that would be able to page phones on two different phone systems. My current issue is that we have a Toshiba CIX-670 system that we use for paging, generally to page over the Toshiba phones. We’re working on trying to make as smooth of a transition as possible, and this is one issue.

Right now, I’ve got the following working:

  • Trunk between the PBXact (FreePBX) -> Toshiba CIX-670, using a PRI trunk to an Adtran.

I can create a “Flexible Access Code” (FAC) on the Toshiba, to be an extension, and can call that FAC which can be programmed for paging. Hence, I can pickup a FreePBX extension, dial the FAC number, and FreePBX will route it over the trunk and I can page on the remote system.

Now, the issue is how can I setup a page group that can essentially do a page on the FreePBX and the Toshiba at the same time? Essentially, call both systems and conference them together, so you can have a page go over both systems at the same time?

One solution was to try creating a PJSIP extension, but change the “Dial” string to dial the Toshiba system . That does work, when you call the extension directly, but doesn’t work when I add that ext to a FreePBX paging group.

Any thoughts on how I might be able to create something that would essentially make a call to both system, so I could page on both systems at the same time?

Thanks for any help!

How about multicast?

Actually, I don’t even know if Toshiba phones support multicast.

That would be great, but they don’t support multicast. Toshiba has a paging module built in, so to speak. Limited to about 120 phones, and functions differently than calling.

Multicast is what I do for the PBXact (FreePBX) for their paging.

Essentially, I’m wondering if there would be some way to create a conference call and call both paging extensions at the same time, so to speak.

1 Like

This was my thought as well, but the proper™ way to do this is with an extension of type “Custom” which exits specifically so you can define the dial string. I would expect this work, so if it doesn’t you will need to check the full log and determine why it fails.
https://wiki.freepbx.org/display/SUP/Providing+Great+Debug#ProvidingGreatDebug-AsteriskLogs

Thanks for the reply Lorne.

I’ll try it again as a custom, but I believe we tried that, but it didn’t show up as an option in the Page group if we did a custom. I’ll try again and see if that may be an option.

Well, I deleted my working PJSIP extension and created a custom extension with the same dial string. I added it to the page group and still no luck.

No, I can’t get my custom ext (403 in this case) to connect to the Toshiba FAC like I did before. Maybe I’m not creating the Ext correctly?

Here’s the Dial string I’m putting in for the custom ext:
PJSIP/Adtran/sip:[email protected]:5060
(using PJSIP over the Adtran trunk (ie, SIP -> PRI) and calling the sip extension (403) or the FAC on the Toshiba system. The IP address is the address of the Adtran itself.

When I dial the custom ext, 403, it will put the Toshiba system into “paging” mode, but the FreePBX phone will keep ringing and I can’t talk over the system. If I use it in a Paging group, the Toshiba system never shows paging.

In the logs, I never see the dial string referenced. But if I put a FreePBX ext, I see it in the logs using the same dial string.

Must be missing something obvious.

If you pick up a local extension and dial 403 and it works as expected, then the dial string would be:

local/[email protected]

Hmm, I tried that and it just gives a busy signal. I did find a setting that is working, but the Sangoma phone looks like it is still waiting for the other end to answer, but it does connect and I can page over the other phone system:
PJSIP/[email protected],300,Tb

Again, if I use another Sangoma phone on the FreePBX system and dial the custom ext (403), the Toshiba system does go into paging mode and I can talk over the Toshiba system.

Now if I add that same custom extensions (403) to the Paging group, it doesn’t work. No appearance on the Toshiba system and the phone looks like it is paging, but never looks like it dials in the log.

Here’s an asterisk full output: (2999 is the page group and Ext 2002 is a local FreePBX ext making the call)

[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:1] Goto("PJSIP/2002-000154f8", "app-pagegroups,2999,1") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx_builtins.c: Goto (app-pagegroups,2999,1)
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:1] Macro("PJSIP/2002-000154f8", "user-callerid,") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:1] Set("PJSIP/2002-000154f8", "TOUCH_MONITOR=1533165742.548432") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:2] Set("PJSIP/2002-000154f8", "AMPUSER=2002") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:3] GotoIf("PJSIP/2002-000154f8", "0?report") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:4] ExecIf("PJSIP/2002-000154f8", "1?Set(REALCALLERIDNUM=2002)") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:5] Set("PJSIP/2002-000154f8", "AMPUSER=2002") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:6] GotoIf("PJSIP/2002-000154f8", "0?limit") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:7] Set("PJSIP/2002-000154f8", "AMPUSERCIDNAME=Test Ext2002") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:8] ExecIf("PJSIP/2002-000154f8", "0?Set(__CIDMASQUERADING=TRUE)") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:9] GotoIf("PJSIP/2002-000154f8", "0?report") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:10] Set("PJSIP/2002-000154f8", "AMPUSERCID=2002") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:11] Set("PJSIP/2002-000154f8", "__DIAL_OPTIONS=HhTtr") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:12] Set("PJSIP/2002-000154f8", "CALLERID(all)="Test Ext2002" <2002>") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:13] GotoIf("PJSIP/2002-000154f8", "0?limit") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:14] ExecIf("PJSIP/2002-000154f8", "0?Set(GROUP(concurrency_limit)=2002)") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:15] ExecIf("PJSIP/2002-000154f8", "0?Set(CHANNEL(language)=)") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:16] NoOp("PJSIP/2002-000154f8", "Macro Depth is 1") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:17] GotoIf("PJSIP/2002-000154f8", "1?report2:macroerror") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx_builtins.c: Goto (macro-user-callerid,s,18)
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:18] GotoIf("PJSIP/2002-000154f8", "0?continue") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:19] ExecIf("PJSIP/2002-000154f8", "1?Set(__CALLEE_ACCOUNCODE=)") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:20] Set("PJSIP/2002-000154f8", "__TTL=64") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:21] GotoIf("PJSIP/2002-000154f8", "1?continue") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx_builtins.c: Goto (macro-user-callerid,s,37)
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:37] Set("PJSIP/2002-000154f8", "CALLERID(number)=2002") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:38] Set("PJSIP/2002-000154f8", "CALLERID(name)=Test Ext2002") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:39] GotoIf("PJSIP/2002-000154f8", "0?cnum") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:40] Set("PJSIP/2002-000154f8", "CDR(cnam)=Test Ext2002") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:41] Set("PJSIP/2002-000154f8", "CDR(cnum)=2002") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:42] Set("PJSIP/2002-000154f8", "CHANNEL(language)=en") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:43] ExecIf("PJSIP/2002-000154f8", "0?Set(CALLERID(name)=)") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:44] GosubIf("PJSIP/2002-000154f8", "0?app-check-classofservce,s,1()") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:2] Set("PJSIP/2002-000154f8", "_PAGEGROUP=2999") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:3] Set("PJSIP/2002-000154f8", "_PVOL=3") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:4] GotoIf("PJSIP/2002-000154f8", "1?:busy") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:5] Set("PJSIP/2002-000154f8", "DEVICE_STATE(Custom:PAGE2999)=INUSE") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:6] Gosub("PJSIP/2002-000154f8", "app-paging,ssetup,1()") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:1] Set("PJSIP/2002-000154f8", "_SIPURI=") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:2] Set("PJSIP/2002-000154f8", "_ALERTINFO=Ring Answer") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:3] Set("PJSIP/2002-000154f8", "_CALLINFO=<uri>;answer-after=0") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:4] Set("PJSIP/2002-000154f8", "_SIPURI=intercom=true") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:5] Set("PJSIP/2002-000154f8", "_DTIME=5") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:6] Set("PJSIP/2002-000154f8", "_ANSWERMACRO=") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:7] Set("PJSIP/2002-000154f8", "PAGE_CONF=1533165742789") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:8] Return("PJSIP/2002-000154f8", "") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:7] Set("PJSIP/2002-000154f8", "PAGEMODE=FPAGE") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:8] Set("PJSIP/2002-000154f8", "PAGE_MEMBERS=403") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:9] Set("PJSIP/2002-000154f8", "PAGE_CONF_OPTS=") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:10] Set("PJSIP/2002-000154f8", "ANNOUNCEMENT=") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:11] Set("PJSIP/2002-000154f8", "_DOPTIONS=A()") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:12] Set("PJSIP/2002-000154f8", "_EXTRINGTIME=true") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:13] Set("PJSIP/2002-000154f8", "STREAM=NONE") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:14] Set("PJSIP/2002-000154f8", "CALLERID(name)=TEST: Test Ext2002") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:15] AGI("PJSIP/2002-000154f8", "page.agi") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] res_agi.c: Launched AGI Script /var/lib/asterisk/agi-bin/page.agi
[2018-08-01 18:22:22] VERBOSE[30432] dial.c: Called [email protected]
[2018-08-01 18:22:22] VERBOSE[30433][C-0000a100] pbx.c: Executing [[email protected]:1] Wait("Local/[email protected];2", "1") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] res_agi.c: <PJSIP/2002-000154f8>AGI Script page.agi completed, returning 0
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:16] Set("PJSIP/2002-000154f8", "CONFBRIDGE(user,template)=page_user_duplex") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:17] Set("PJSIP/2002-000154f8", "CONFBRIDGE(user,admin)=yes") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:18] Set("PJSIP/2002-000154f8", "CONFBRIDGE(user,marked)=yes") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:19] Answer("PJSIP/2002-000154f8", "") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:20] ConfBridge("PJSIP/2002-000154f8", "1533165742789,,,admin_menu") in new stack
[2018-08-01 18:22:22] VERBOSE[30419][C-0000a0ff] bridge_channel.c: Channel PJSIP/2002-000154f8 joined 'softmix' base-bridge <9207b850-56a6-406c-872b-b03568c42bf6>
[2018-08-01 18:22:22] VERBOSE[30436] bridge_channel.c: Channel CBAnn/1533165742789-000015e9;2 joined 'softmix' base-bridge <9207b850-56a6-406c-872b-b03568c42bf6>
[2018-08-01 18:22:22] VERBOSE[11933] asterisk.c: Remote UNIX connection
[2018-08-01 18:22:22] VERBOSE[30441] asterisk.c: Remote UNIX connection disconnected
[2018-08-01 18:22:22] VERBOSE[11933] asterisk.c: Remote UNIX connection
[2018-08-01 18:22:22] VERBOSE[30442] asterisk.c: Remote UNIX connection disconnected
[2018-08-01 18:22:23] VERBOSE[30433][C-0000a100] pbx.c: Executing [[email protected]:2] Answer("Local/[email protected];2", "") in new stack
[2018-08-01 18:22:23] VERBOSE[30432] dial.c: Local/[email protected];1 answered
[2018-08-01 18:22:23] VERBOSE[30433][C-0000a100] pbx.c: Executing [[email protected]:3] Set("Local/[email protected];2", "CONFBRIDGE(user,template)=page_user_duplex") in new stack
[2018-08-01 18:22:23] VERBOSE[30433][C-0000a100] pbx.c: Executing [[email protected]:4] Set("Local/[email protected];2", "CONFBRIDGE(user,marked)=yes") in new stack
[2018-08-01 18:22:23] VERBOSE[30433][C-0000a100] pbx.c: Executing [[email protected]:5] ConfBridge("Local/[email protected];2", "1533165742789,,,") in new stack
[2018-08-01 18:22:23] VERBOSE[30433][C-0000a100] bridge_channel.c: Channel Local/[email protected];2 joined 'softmix' base-bridge <9207b850-56a6-406c-872b-b03568c42bf6>
[2018-08-01 18:22:23] VERBOSE[11933] asterisk.c: Remote UNIX connection
[2018-08-01 18:22:23] VERBOSE[30447] asterisk.c: Remote UNIX connection disconnected
[2018-08-01 18:22:23] VERBOSE[11933] asterisk.c: Remote UNIX connection
[2018-08-01 18:22:23] VERBOSE[30448] asterisk.c: Remote UNIX connection disconnected
[2018-08-01 18:22:24] VERBOSE[11933] asterisk.c: Remote UNIX connection
[2018-08-01 18:22:24] VERBOSE[30453] asterisk.c: Remote UNIX connection disconnected
[2018-08-01 18:22:24] VERBOSE[11933] asterisk.c: Remote UNIX connection
[2018-08-01 18:22:24] VERBOSE[30454] asterisk.c: Remote UNIX connection disconnected
[2018-08-01 18:22:25] VERBOSE[11933] asterisk.c: Remote UNIX connection
[2018-08-01 18:22:25] VERBOSE[30461] asterisk.c: Remote UNIX connection disconnected
[2018-08-01 18:22:25] VERBOSE[11933] asterisk.c: Remote UNIX connection
[2018-08-01 18:22:25] VERBOSE[30462] asterisk.c: Remote UNIX connection disconnected
[2018-08-01 18:22:26] VERBOSE[11933] asterisk.c: Remote UNIX connection
[2018-08-01 18:22:26] VERBOSE[30469] asterisk.c: Remote UNIX connection disconnected
[2018-08-01 18:22:26] VERBOSE[11933] asterisk.c: Remote UNIX connection
[2018-08-01 18:22:26] VERBOSE[30470] asterisk.c: Remote UNIX connection disconnected
[2018-08-01 18:22:27] VERBOSE[30419][C-0000a0ff] bridge_channel.c: Channel PJSIP/2002-000154f8 left 'softmix' base-bridge <9207b850-56a6-406c-872b-b03568c42bf6>
[2018-08-01 18:22:27] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:1] ExecIf("PJSIP/2002-000154f8", "1?Set(DEVICE_STATE(Custom:PAGE2999)=NOT_INUSE)") in new stack
[2018-08-01 18:22:27] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:2] GosubIf("PJSIP/2002-000154f8", "0?record-page,1()") in new stack
[2018-08-01 18:22:27] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:3] ExecIf("PJSIP/2002-000154f8", "0?System(rm .sln)") in new stack
[2018-08-01 18:22:27] VERBOSE[30419][C-0000a0ff] pbx.c: Executing [[email protected]:4] ExecIf("PJSIP/2002-000154f8", "0?System(rm -f /var/spool/asterisk/outgoing/)") in new stack
[2018-08-01 18:22:27] VERBOSE[11933] asterisk.c: Remote UNIX connection
[2018-08-01 18:22:27] VERBOSE[30506] asterisk.c: Remote UNIX connection disconnected
[2018-08-01 18:22:27] VERBOSE[11933] asterisk.c: Remote UNIX connection
[2018-08-01 18:22:27] VERBOSE[30508] asterisk.c: Remote UNIX connection disconnected
[2018-08-01 18:22:28] VERBOSE[30433][C-0000a100] bridge_channel.c: Channel Local/[email protected];2 left 'softmix' base-bridge <9207b850-56a6-406c-872b-b03568c42bf6>
[2018-08-01 18:22:28] VERBOSE[30436] bridge_channel.c: Channel CBAnn/1533165742789-000015e9;2 left 'softmix' base-bridge <9207b850-56a6-406c-872b-b03568c42bf6>
[2018-08-01 18:22:28] VERBOSE[11933] asterisk.c: Remote UNIX connection
[2018-08-01 18:22:28] VERBOSE[30525] asterisk.c: Remote UNIX connection disconnected
[2018-08-01 18:22:28] VERBOSE[11933] asterisk.c: Remote UNIX connection`

Just to give an update to this, I was able to get paging to work, but had to use Analog ports on the toshiba (FXS) and a Sangoma Vega 60 Gateway (FXO) ports to tie them together.

On the Toshiba Side, I create 4 Analog Extensions, and set the Display DN to show an Extension back to the FreePBX. I also created a Feature Code for the page groups, so you didn’t have to dial a #, in this case (7711)

On the FreePBX side, I used the Vega Management tool and created 4 FXO trunk to a chan_sip Trunk. I then created a Custom Extension for the Feature Code on the Toshiba. In the “Dial” portion under the Advanced tab of the Custom Extension to set to SIP/[email protected] (ie, the vega I just created).

Basically, when you call the Custom Extension, it goes out the Vega Gateway over to Toshiba Analog port (ie, FXS) and dials the Feature code. There is a delay, as it has to pickup the line, but it does successfully work. For paging, I put the Custom Extension in the page group and made sure and put on an Alert Tone, so the Toshiba callers hear the beep before they start talking (ie, the delay).

I hope this helps anyone trying to find a way to have FreePBX page on a 3rd party phone system. As I was told by Andy, sometimes it comes down to the most common denominator, ie analog -> analog.

Thanks for everyone’s help!

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