[SOLVED] Struggling with Multicast Paging

I am not sure what I am doing wrong here. The setup is the latest freepbx with Paging Pro and Digium D60 handsets with the latest firmware.

I have tried creating a custom extension in asterisk config files with exten => 1234,1,Page(MulticastRTP/basic/225.1.1.100:10000)
, tried the Paging Pro module with a multicast address, etc. Nothing seems to get my Digium D60 handsets to pickup and play the multicast page. I attached a laptop with a multicast listener and wireshark on the same subnet, and can capture the packets from a page initiated from a handset on the laptop, but cannot get the handsets to actually pickup. It seems the RTP channels are using the ulaw codec when a page is initiated. Does this only work on Digium handsets with the Switchvox distro, or am I maybe doing something else wrong? Thanks!

Howdy,

I have no knowledge of the operation of Paging Pro.

The Digium phone does not automatically setup Multicast listeners on it. The listeners have to be setup manually. Further, the listeners can only be setup by using DPMA to set them or by using XML provisioning to set them.

If it’s DPMA, then you’ll have to create multicastpage types and apply those types to the phone. See - https://wiki.asterisk.org/wiki/display/DIGIUM/DPMA+Configuration#DPMAConfiguration-MulticastpageConfigurationOptions

If it’s XML, then you’ll have to create a multicastpage parent and create listener children. See - https://wiki.asterisk.org/wiki/pages/viewpage.action?pageId=36800183#XMLConfiguration2.2.1.1+-MulticastpageElement

This capability was added in firmware 2.1.0.3.1 for D6x models of phones; small bugs were addressed up until 2.2.0.8.
For DPMA, it was added in 3.1, but small bugs were addressed up until 3.2.2.

For Multicast playback, the G.711 ulaw, G.711 alaw and G.722 codecs are supported.

1 Like

I created the listeners via DPMA and applied them to the handsets. However, I still cannot get the handsets to pickup a multicast page. Actually it doesn’t even look like the phone is getting the multicast packets based on a wireshark capture of the phone itself. I can still successfully capture those packets on a laptop on the same subnet. It looks like something may be strange with the way DPMA is generating multicast listeners. Here is the config for one of my handsets followed by the config for the multicast listener. The name of the listener assigned to the handset does not match the name of the listener in the config. I tried renaming the listener to 2 so it would match what DPMA is generating, but that seemed to have no effect on getting things working either.

[4401]
type=phone
full_name=******
parking_exten=70
parking_transfer_type=blind
active_locale=en_US
application=voicemail
accept_local_calls=host
active_locale=en_US
blf_unused_linekeys=no
call_waiting_tone=yes
display_mc_notification=yes
firmware=D40-2_2_1_2
firmware=D45-2_2_1_2
firmware=D50-2_2_1_2
firmware=D60-2_2_1_2
firmware=D62-2_2_1_2
firmware=D65-2_2_1_2
firmware=D70-2_2_1_2
lock_preferences=no
name_format=first_last
ntp_resync=60
parking_exten=70
record_own_calls=yes
send_to_vm=yes
timezone=America/Chicago
web_ui_enabled=yes
use_local_storage=yes
contact=contacts-internal-4401.xml
network=network–1
8021x_method=
multicastpage=mcpage-2
line=4401
application=status-available
application=status-away
application=status-dnd
application=status-unavailable

[mcpage-Emergency]
type=multicastpage
alias=Emergency
address=225.1.1.100
interrupt=1
port=10000
priority=1

Looking at your config, that’s definitely a problem.

Where you’ve defined a listener called “mcpage-Emergency” you’ve applied a listener to the phone called “mcpage-2.” Unless you’ve another listener that you defined called “mcpage-2,” then there’s no listener getting applied to the phone.

You can get a listing of all multicast listeners defined by DPMA by doing:

“digium_phones show multicastpages”

from the Asterisk CLI.

You can then see if the listener’s been applied to the phone by running:

“digium_phones show phone phone_identifier”

and looking for:

“Multicast Page: multicast_page_identifier”

If you’d like me to take a look at your phone, you can private message me a debug dump by taking a web-browser to http://[ip_of_phone]/cgi-bin/ptsr

It’s also bad ju-ju to enable the phone’s web ui if you’re configuring it via DPMA. You’ll get inconsistent results if you’re trying to use both methods of configuration. In the event that you’ve done so, factory default the phone to remove all traces of the web config elements that might have been set, disable that setting in DPMA, and re-attach the phone to DPMA.

For some reason, I don’t have the “digium_phones show multicastpages” command available to me in the CLI, although I can configure Multicast Page groups just fine within the GUI of DPMA. Here is the result of show version as well as the output of help for DPMA.

freepbx*CLI> digium_phones show version
Digium Phone Module for Asterisk Version 13.0_3.2.0

freepbx*CLI> core show help digium_phones show
digium_phones show alerts – digium_phones show alerts
digium_phones show alert – digum_phones show alert
digium_phones show applications – digium_phones show applications
digium_phones show application – digium_phones show application
digium_phones show firmware – digium_phones show firmware
digium_phones show firmwares – digium_phones show firmwares
digium_phones show lines – digium_phones show lines
digium_phones show line – digium_phones show line
digium_phones show networks – digium_phones show networks
digium_phones show network – digium_phones show network
digium_phones show phone – digium_phones show phone
digium_phones show phones – digium_phones show phones
digium_phones show sessions – digium_phones show sessions
digium_phones show settings – digium_phones show settings
digium_phones show status – digium_phones show status
digium_phones show tokens – digium_phones show tokens
digium_phones show translations – digium_phones show translations
digium_phones show translation – digium_phones show translation
digium_phones show version – digium_phones show version

As far as the phones, I wiped and reconfigured as suggested, and I also deleted existing all multicast page groups so that I could start from scratch. Next I created a new page group called Emergency again with the same details as before. Upon applying the new group to a couple of phones within DPMA, and then examining res_digium_phone_devices.conf, it appears the same issue is still there. My extensions are showing multicastpage=mcpage-4, while the listener is as follows:

[mcpage-Emergency]
type=multicastpage
alias=Emergency
address=225.1.1.100
interrupt=1
port=10000
priority=1

I also don’t see any Multicast Page groups listed for the handset with the show phone command. I am beginning to wonder if my DPMA install is corrupted?

DPMA 3.2.0 could add the listeners but it didn’t have the CLI command to check them. That didn’t come until 3.2.2. See - https://wiki.asterisk.org/wiki/display/DIGIUM/Changes
Also, there was a bug w/ old-style firmware definitions that DPMA made that affected the startup of the listener on the phone. So, you really want to be on at least 3.2.2.

re: mcpage-4 and the listener “mcpage-Emergency.” @sgriepentrog has opened an internal issue to investigate. Likely a bug in the addon.

This patch will correct the issue with the mistmatch on page section name. It will be a part of the next digium_phones module update.

diff --git a/conf/res_digium_phone_devices.php b/conf/res_digium_phone_devices.p
index 21610b0..dc333cb 100644
--- a/conf/res_digium_phone_devices.php
+++ b/conf/res_digium_phone_devices.php
@@ -258,7 +258,7 @@ function res_digium_phone_devices($conf) {
        }
 
        foreach ($conf->digium_phones->get_mcpages() as $mcpageid=>$mcpage) {
-               $output[] = "[mcpage-{$mcpage['name']}]";
+               $output[] = "[mcpage-{$mcpageid}]";
                $output[] = "type=multicastpage";
                $output[] = "alias={$mcpage['name']}";

I’m going to put a solved tag on this because we’re fairly confident we’ve found and addressed the issue.

Good news is I have FINALLY managed to wrap this up. I was admittedly at my wits end on this. I decided to carefully go through the DPMA instructions and manually update it to the latest version instead of relying on the Module Admin for updates. The latest version allowed the MC listeners to start properly and receive pages on the handsets. Such a simple fix , and I’m not sure why I never tried this before. Thanks for all the help!

Huzzah! :slight_smile:

…extra characters to meet the comment minimum…