login | register
Wed 19 of Nov, 2008 [20:43 UTC]

voip-info.org

Discuss [5] History

Asterisk Paging and Intercom

Created by: jht2,Last modification on Mon 30 of Jun, 2008 [13:46 UTC] by olivier1010

Paging and Intercom

On legacy phone systems you can find the following kinds of paging;
  • Dial a code to connect to a separate overhead paging and announcement system (like in an airport)
  • Dial a code and connect directly to a built-in one-way announcement speaker on one or more phones
  • Dial a code and connect directly to a built-in two-way announcement and talkback function on one or more phones

Some overhead paging systems also provide a talkback system so that the person being paged can just speak to respond. Background noise issues limit where this feature can be used. The talkback function is usually setup to be hands free. That means that the person responding to the page does not need to take any action other then speaking.

Advanced Paging / Intercom

There is also another system available since many years, the best one, combining paging and intercom. Here the talback system is limited to only one phone. The paging is done in one way mode through a group of phones, and the person being paged can respond pressing a digit to switch the nearer phone to two-way mode, simultaneously hanging-up all other phones speakers.
This mode combine the best of the two world, eliminate the noise problems, and keep the communication private as soon as the paged person pressed the right digit on a phone.
It should be possible to implement this mode on Asterisk with a managed conference and a feature map application.

Multicasting begin to be supported at all major phones manufacturers, Aastra firmware v2.2, Snom v7, Linksys,... allow the setting of a multicast listening address. This will permit to reduce the generated trafic for an extensive paging.


If a phone is in use when a page arrives, some systems can do a "whisper page" so that only the person being paged can hear the page.

New in Asterisk 1.2: The new dialplan command Page utilizes MeetMe to page one or more phones.

SIP phones for the most part don't support any of these phone based paging functions. If a SIP phone offers an Auto Answer function, you can approximate limited paging intercom functionality. The phones most often mentioned supporting this are:

There is an 'allpage.agi' now available at http://aussievoip.com.au/allpage.agi. Documentation is available in the file. This should work with Snom and Grandstream GXP2000 phones (and possibly budgettones if they roll the changes across) with firmware greater than 1.0.13 (not publically available at time of writing, due out in October 2005)

Intercom DOES work with the Snom 200 as the mailing list link above shows. Tested on 12/20/04 with firmware 2.04g on Snom 200. One change for that posting is that the variable called in the dialplan must read "_VXML_URL" instead of "VXML_URL". Howeverr, the 'correct' way of doing Paging/Intercom is with SipAddHeader. See allpage.agi for example code.

Some analog phones have an Auto Answer function. These phone are often used in door phone systems.

ADSI phones can be configured to Auto Answer if sent the right set of signals. For information on how to do this, contact http://www.sayson.com.


Some older analog answering machines have a remote intercom function that can be used for overhead paging. Examples:


For overhead paging, you can make an Asterisk Extension go to the sound card, and wire its output to a traditional external paging system. You can also get boxes to interface an phone FXO or FXS port directly to a sound system. Examples:
  • Valcom V-2001A
    • connects to an FXO port, so more suitable for interface with PBX or other phone system
  • Viking CPA-7B Paging/Loud Ringing Amplifier
    • Has both FXS and FXO ports.
    • Can connect to a normal ATA FXS port in place of a phone
    • Example: Ethernet — SIP ATA — Viking CPA-7B — Paging speakers
    • Other models available with multi-zone paging, etc.
  • Radio Design Labs ST-TC1 Telephone System Coupler
    • Also sold as: Smarthome Product
    • connects to an FXO port, so more suitable for interface with PBX or other phone system
  • Bogen TAMB

Another possiblity for overhead paging is using overhead speakers that have a direct VOIP connection. Examples:

Automated method


Another way to automate this is with Backticks. Someone has posted a method of using Backticks and shell scripts to dial all phones automatically.

Direct Soundcard Connection

Another method for overhead paging is to solder a cable, with an RCA jack(or whatever you need), directly to the speaker of a phone that provides auto-answer. This cable can be connected directly to your amp or sound sytem used for paging.

Setting up paging with a sound card

Grandstream Paging

You can use the Grandstream Budgetone phone mentioned above, it even has a round punch-out that can be used to run your cable through. Using the Grandstream as interface to the paging system is a low-cost solution that has a proven track record. With a total investment of $80 for the phone, wire, and connectors you can have a basic paging system at your office. A second unit at a remote office or warehouse makes it easy to have paging across the street, or on the other side of the world.
  • open up the phone and splice a connector jack in place of the builtin speaker. You can use a female RCA jack or a mini-stereo jack.
  • jack can easily be mounted in the side of the case and used to connect to a traditional paging amplifier or amplified computer speakers.
  • the reboot process as outlined on Asterisk phone grandstream budgetone works quite well for keeping these phones registered on the Asterisk. We've set them to reboot every four hours and have enjoyed over six months without a single user complaint.
  • The Grandstream GXP-2000 would also work well for this- it has a 3.5mm audio jack built in. I have also read that the new redesigned BT100 series also has a headset jack.

* Diver Says:

The Grandstream GXP-2000 works very well for overhead paging. You can punch down on a 66 block a 3.5mm jack cable which then connects to your paging system. With the four sip accounts you can customize paging for different departments by having a different ring tone configured. I have this connected to an older Valcom 9970 Single Zone unit and two Handytone 488 attached to two 9 Zone Valcom 1109RTVAs. The 1109RTVA unit accepts your dtmf 0-9 (0 all call) to determine which zone to page. I can now page across the VPN to other buildings. Make sure you set the HT-488 FXO Port PSTN Silence Timeout to 10 seconds instead of 60 for paging. This reduces lockups. Also change FAX mode from t38 to Pass Thru. This is firmware 1.0.3.44 bootloader 1.0.8.11 - diver

* ZK Tech:

We have worked with Grandstream to develop a dial plan example that lets you use both the built-in paging function as well as a dedicated prefix method for intercom Asterisk Intercom/Paging with Grandsteam - BEZ(zktech)



See Also



Asterisk | Asterisk Configuration | Channel Configuration | Configuration for Specific Phones

Comments

Comments Filter
222

333Paging slow to connect all phones

by ravenber, Thursday 13 of December, 2007 [20:36:10 UTC]
I've tried every script and suggestion on this site, but I still have a problem with paging approx. 50 Aastra 9133i phones. The problem is that it can take up to 20 seconds for all of the phones to connect to the page. Some phones connect right away, while others seem to take forever. Anyone else run into this problem? Any solutions or suggestions on how to solve this?
222

333VPN for VoIP Blocking

by jenniferhan, Wednesday 12 of December, 2007 [05:35:07 UTC]
Somebody use VPN to solve the VoIP Blocking issue. But it seems not a good way to solve the voip blocking issue. Because VPN will take more bandwidth and will take effection on the Voice Quality

Currently I am using the VGCP, a new solution to solve the VoIP Blocking issue. Following is theirs website:
http://www.speed-voip.com/index-36.html

If any of you have interested, you may try to use it to solve your VoIP Blocking problems. Thanks.

Andy
andywong-01@hotmail.com

222

333FXO port for overhead paging?

by undrhil, Thursday 19 of October, 2006 [18:21:18 UTC]
I know that on most PBXs, you can wire an FXO port to overhead paging speakers while supplying talk-battery in order to have overhead paging without any specialized hardware setup. A Valcom VP-324 power supply is ample to supply the talk-battery. You just wire the trunk in question in sequence with the power supply and the overhead speakers.

Is Asterisk capable of picking up on a "dead" trunk in order to do something similar to this? My guess would be to create an outbound path to dial "nothing" on whichever FXO port is used, but is there a way to make Asterisk pick up the FXO port even though there's technically no line there?

Undrhil
222

333Copy of allpage.agi

by gthornejr, Tuesday 18 of April, 2006 [14:05:47 UTC]
The above link in the article doesn't exist anymore, so here is a copy from Google cache :

#!/usr/bin/perl

#
# allpage.agi - Copyright Rob Thomas (xrobau@gmail.com) 2005.
#
# Revision 1.1 - 14th October 2005 - Added Polycom Support
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of Version 2 of the GNU General
# Public License as published by the Free Software Foundation
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# Simple AGI to page all SIP extensions (no IAX device, because at the time
# of writing this, no device supported IAX_ANSWER_IMMED) that aren't on
# the phone. Tested with Asterisk 1.2. Should work out-of-the-box with
# Grandstream GXP phones with firmware greater than 1.0.12, and Snoms with
# 'enable intercom' on and 'filter packets from registrar' off.
#
# Documentation:
# Your dialplan consists of two things. Firstly, in the context that your
# normal phones are in, you need to have something like this:
# exten => 999,1,AGI,allpage.agi
# exten => 999,2,MeetMe(999,dq)
# exten => 999,3,Playback(beep)
# exten => 999,4,Hangup
#
# The paged phones then jump to this context:
# all-page
# exten => s,1,AbsoluteTimeout(10)
# exten => s,2,MeetMe(999,dmq)
# exten => s,3,Hangup
# exten => t,1,Hangup
# exten => T,1,Hangup
#
# Any questions? Join
#openpbx on irc.freenode.net
# --Rob Thomas 28th Sep, 2005.
if (eval "require Net::Telnet;")
{ use Net::Telnet; }
else { print "VERBOSE \"Net::Telnet NOT INSTALLED - this is required\" 0\n"; exit 0; }
# You need to configure this: Your manager API username and password. This
# is the information from /etc/asterisk/manager.conf. You need something like
# this in it:
# admin
# secret = amp111
# deny=0.0.0.0/0.0.0.0
# permit=127.0.0.0/255.0.0.0
# read = system,call,log,verbose,command,agent,user
# write = system,call,log,verbose,command,agent,user
# IF that's what you have in your conf file, this is what you should have here:
my $mgruser = "admin";
my $mgrpass = "amp111";
my $mgrport = 5038;
# If you're using a SNOM they need a 'sip:ip.add.re.ss' added to the Call-Info field,
# with the IP address of the registrar. Most other phones will silently ignore this,
# but if you have trouble, you may need to fiddle with this line. Change the IP Address
# to be that of your Asterisk Server.
my $callinfo = 'Call-Info: sip:192.168.0.1\; answer-after=0';
# This is for Polycom phones - see
# http://www.voip-info.org/tiki-index.php?page=Polycom+auto-answer+config
my $alertinfo = 'Ring Answer';
# That's it. Nothing else should need to be changed
# Some variables we use later...
my @tocall;
my %useref;
# Get all SIP channels:
my @allsip = `asterisk -rx "sip show peers"`;
# Get all that are in use:
my @inuse = `asterisk -rx "sip show channels"`;
# Strip off carrige returns and take off the top line
chomp @allsip; chomp @inuse; shift @allsip; shift @inuse;
# First, we want to get the phones that are in use. We need the second field
# of every line.
while (my $line = shift @inuse) { my @tmparr = split(/\s+/,$line);
# The second last, or possibly last, line says 'n active SIP channel(s)'
goto endinuse if ($tmparr1 eq "active"); print "VERBOSE \"Found extension $tmparr1 in use.\" 1\n"; $useref{$tmparr1} = "In Use"; } endinuse:
# We only want the first column, and, we only want the first part before the
# slash
while (my $line = shift @allsip) {
# This may break if there's more than one / in a line. There shouldn't.
$line =~ /(.+)\/.+/;
# Sanity check. This may be a peer for outgoing calls, rather than an
# extension. Basically, if it's 5 numbers or less, it's an extension.
my $result = $1;
# If your dialplan is different, sucks to be you. Change this regexp to
# match your dialplans and EXCLUDE your SIP trunks.
if ($result =~ /^\d{1,5}$/) { if (defined $useref{$result}) { print "VERBOSE \"NOT Adding extension $result to call list\" 2\n"; } else { print "VERBOSE \"Adding extension $result to call list\" 1\n"; push @tocall, $result; } } }
# If you don't want any intelligence, you can just delete all the logic above
# here, and specify the SIP extensions to call here. Also useful for debugging.
#@tocall = (303, 301);
# Now, we have an array (@tocall) with all valid SIP extensions.
while (my $sipxtn = shift @tocall) { print "VERBOSE \"Doing $sipxtn\" 0\n";
# Open connection to AGI
my $tn = new Net::Telnet ( Port => $mgrport, Prompt => '/.*$%#> $/', Output_record_separator => '', Input_Log=> "/tmp/input.log", Output_Log=> "/tmp/output.log", Errmode => 'return', );
$tn->open("127.0.0.1");
$tn->waitfor('/0\n$/');
$tn->print("Action: Login\n");
$tn->print("Username: $mgruser\n");
$tn->print("Secret: $mgrpass\n");
$tn->print("Events: off\n\n");
my ($pm, $m) = $tn->waitfor('/Authentication (.+)\n\n/');
if ($m =~ /Authentication failed/) { print "VERBOSE \"Incorrect MGRUSER or MGRPASS - unable to connect to manager interface\" 0\n";
exit;
}
$tn->print("Action: Originate\nChannel: SIP/$sipxtn\nContext: all-page\nPriority: 1\n");
$tn->print("Variable: SIPADDHEADER=\"$callinfo\"\n");
$tn->print("Variable: ALERT_INFO=\"$alertinfo\"\n");
$tn->print("Extension: s\nCallerID: System Page\n\n");
$tn->print("Action: Logoff\n\n");
$tn->close;
}

222

333Auto-Answer with BroadSoft

by tlombard, Friday 07 of April, 2006 [18:03:02 UTC]
Has anyone successfully set up a polycom to auto-answer with Broadsoft?