- Outgoing Calls | DTMF: *6[Area Code + Number]
- outgoing example: *67771234567
- Disconnect Calls: *0
- Answer Incoming Call on Extension 0701
- extension example: *60701
Dialing phone numbers requires you to dial non-stop WITHOUT pause. If there is a pause greater than ~1.5 seconds, it will automatically dial the number, incomplete or not. So dial as quickly as you can!
The HamVOIP developers are aware and have stated that a fix would be eventually released.
Replace NODE# with your node number.
rpt.conf
Enable autopatch
; Autopatch up 6=autopatchup,context=radio,noct=1,farenddisconnect=1,dialtime=20000,quiet=1 ; Autopatch down 0=autopatchdn
modules.conf
enable SIP and Parking feature
;noload=chan_sip.so ;noload=app_parkandannounce.so
sip.conf
Callcentric SIP config
[general] dtmfmode=rfc2833 context=from-callcentric srvlookup=yes register => USERNAME:PASSWORD@callcentric.com/NODE# registertimeout=5 registerattempts=0 [callcentric] type=peer context=from-callcentric host=callcentric.com fromdomain=callcentric.com username=USERNAME fromuser=USERNAME secret=PASSWORD insecure=very canreinvite=no disallow=all allow=ulaw nat=yes qualify=yes
[callcentricB1](callcentric); host=bravo01.callcentric.net [callcentricB2](callcentric); host=bravo02.callcentric.net [callcentricB3](callcentric); host=bravo03.callcentric.net [callcentricB4](callcentric); host=bravo04.callcentric.net [callcentricB5](callcentric); host=bravo05.callcentric.net [callcentricB6](callcentric); host=bravo06.callcentric.net [callcentricB7](callcentric); host=bravo07.callcentric.net [callcentricB8](callcentric); host=bravo08.callcentric.net [callcentricB9](callcentric); host=bravo09.callcentric.net [callcentricB10](callcentric); host=bravo10.callcentric.net [callcentricB11](callcentric); host=bravo11.callcentric.net [callcentricB12](callcentric); host=bravo12.callcentric.net [callcentricB13](callcentric); host=bravo13.callcentric.net [callcentricB14](callcentric); host=bravo14.callcentric.net [callcentricB15](callcentric); host=bravo15.callcentric.net [callcentricB16](callcentric); host=bravo16.callcentric.net [callcentricB17](callcentric); host=bravo17.callcentric.net [callcentricB18](callcentric); host=bravo18.callcentric.net [callcentricB19](callcentric); host=bravo19.callcentric.net [callcentricB20](callcentric); host=bravo20.callcentric.net
[callcentric1](callcentric); host=alpha1.callcentric.com [callcentric2](callcentric); host=alpha2.callcentric.com [callcentric3](callcentric); host=alpha3.callcentric.com [callcentric4](callcentric); host=alpha4.callcentric.com [callcentric5](callcentric); host=alpha5.callcentric.com [callcentric6](callcentric); host=alpha6.callcentric.com [callcentric7](callcentric); host=alpha7.callcentric.com [callcentric8](callcentric); host=alpha8.callcentric.com [callcentric9](callcentric); host=alpha9.callcentric.com [callcentric10](callcentric); host=alpha10.callcentric.com [callcentric11](callcentric); host=alpha11.callcentric.com [callcentric12](callcentric); host=alpha12.callcentric.com [callcentric13](callcentric); host=alpha13.callcentric.com [callcentric14](callcentric); host=alpha14.callcentric.com [callcentric15](callcentric); host=alpha15.callcentric.com [callcentric16](callcentric); host=alpha16.callcentric.com [callcentric17](callcentric); host=alpha17.callcentric.com [callcentric18](callcentric); host=alpha18.callcentric.com [callcentric19](callcentric); host=alpha19.callcentric.com [callcentric20](callcentric); host=alpha20.callcentric.com [callcentricA](callcentric); host=doll3.callcentric.com [callcentricB](callcentric); host=doll4.callcentric.com [callcentricC](callcentric); host=doll5.callcentric.com
extensions.conf
Dial Plan
[pstn-out] ;dial outgoing calls exten => _XXXXXXXXXX,1,Dial(SIP/callcentric/1${EXTEN}) exten = _XXX,1,Dial(SIP/callcentric/${EXTEN}) ;allows calling 3 digit extensions exten = _9XX,1,Dial(SIP/callcentric/${EXTEN}) ;allows 911 calling exten => _XXXXXXXXXX,2,Congestion [radio] ;outgoing calls exten=_X11,1,Goto(check_route|${EXTEN}|1); ;exten=_XXXXXXX,1,Goto(check_route|1${HOMENPA}${EXTEN}|1) ;Do not enable shortcut area code predial exten=_XXXXXXXXXX,1,Goto(check_route|1${EXTEN}|1) exten = _07XX,1,Goto(parkedcalls|${EXTEN:1}|1) ;parked calls exten = _XXX,1,Goto(pstn-out|${EXTEN}|1) ;allows calling 3 digit extensions exten = _9XX,1,Goto(pstn-out|${EXTEN}|1) ;allows 911 calling [from-callcentric] ;incoming calls exten=NODE#,Set(CallerIDString=${CALLERID(all)}) ;set incoming callerID exten=NODE#,n,System(/usr/local/sbin/autopatch.sh) ;cheat script for call announcement exten=NODE#,n,Answer() exten=NODE#,n,Ringing exten=NODE#,n,Wait,1 exten=NODE#,n,Playback,pls-stay-on-line ;plays message for caller to stay on the line exten=NODE#,n,ParkAndAnnounce(silence/pbx-transfer:PARKED|120|${BLINDTRANSFER:0:7}|internal_phones|${BLINDTRANSFER:4:3}|1) exten=NODE#,n,Hangup
Autopatch Announce Incoming Call Script
The script will announce a call for extension 0701. It’s a cheat script, not a workaround. Place it in your /usr/local/sbin folder as “autopatch.sh”. Set permissions to 0755 or “chmod +x”. Set your NODE# before using.
#!/bin/bash asterisk -rx "rpt localplay NODE# /var/lib/asterisk/sounds/rpt/in-call" sleep 0.1 asterisk -rx "rpt localplay NODE# /var/lib/asterisk/sounds/extension" sleep 0.1 cat /var/lib/asterisk/sounds/digits/0.gsm /var/lib/asterisk/sounds/digits/7.gsm /var/lib/asterisk/sounds/digits/0.gsm /var/lib/asterisk/sounds/digits/1.gsm > /tmp/autopatch.gsm asterisk -rx "rpt localplay NODE# /tmp/autopatch" fi
This setting REQUIRED for simplex nodes!
rpt.conf
voxtimeout = 10000 ; vox timeout time in ms voxrecover = 2000 ; vox recover time in ms simplexpatchdelay = 25 ; Delay for transmit while in patch in 20ms increments
Notes:
extensions.conf
;exten=s,n,ParkAndAnnounce(silence/pbx-transfer:PARKED|120|${BLINDTRANSFER:0:7}|internal_phones|${BLINDTRANSFER:4:3}|1) ;silent park, best method ;exten=s,n,Rpt(NODENUMBER|Rrpt/node:NODE:rpt/in-call:digits/0:PARKED|120) 120 ;announcement doesn't work properly ;exten => s,1,Rpt,NODENUMBER|S ;auto answer, * keys up node # unkeys node ;exten=s,n,System(sh /usr/local/sbin/speaktext.sh ${CALLERID(num)} ${NODENUMBER}) ;announces phone number of incoming caller
[check_route] ; no 800 exten=_1800NXXXXXX,2,Goto(invalidnum|s|1) exten=_1888NXXXXXX,2,Goto(invalidnum|s|1) exten=_1877NXXXXXX,2,Goto(invalidnum|s|1) exten=_1866NXXXXXX,2,Goto(invalidnum|s|1) exten=_1855NXXXXXX,2,Goto(invalidnum|s|1) ; no X00 NPA exten=_1X00XXXXXXX,2,Goto(invalidnum|s|1) ; no X11 NPA exten=_1X11XXXXXXX,2,Goto(invalidnum|s|1) ; no X11 exten=_X11,2,Goto(invalidnum|s|1) ; no 555 Prefix in any NPA exten=_1NXX555XXXX,2,Goto(invalidnum|s|1) ; no 976 Prefix in any NPA exten=_1NXX976XXXX,2,Goto(invalidnum|s|1) ; no NPA=809 exten=_1809XXXXXXX,2,Goto(invalidnum|s|1) ; no NPA=900 exten=_1900XXXXXXX,2,Goto(invalidnum|s|1) ; okay, route it exten=_1NXXXXXXXXX,1,Goto(pstn-out|${EXTEN:1}|1) exten=_X.,2,Goto(invalidnum|s|1)