Hello all.
I am moving an asterisk box from a physical box in an office to a shared hosting environment (vr.org). It’s a fairly small install with just 10 active extensions - 5 at a single office and the rest as single phones in various areas outiside the office. The problem I seem to be having is that the 5 phones that are in one office keep going into an “UNANVAILABLE” state. I’m guessing this must be due to NAT and multiple devices. I just haven’t figured out the right recipe.
This is just me, a personal user of asterisk, trying to assist a non-profit on my own time. Help is appreciated. There’s lots of detail in the message - probably too much. THANKS!
Here’s how it’s setup:
Hosted Asterisk/FreePBX appliance
- Asterisk server is on a public IP, no NAT
- I haven’t added any rules to iptables aside from the fail2ban rules.
- FreePBX Appliance running 2.10.1.2
- Asterisk 1.8.16.0
Problem Site (office):
- Cable internet, static IP.
- PFsense 2.0.1 RELEASE for firewall
- Packet Shaping is on
- 2-5 phones registered to asterisk. Yes, they carry them with them places. Like I said, its a non-profit.
- Phones are: 2 SPA-942 and 3 Grandstream GXP2000
Details on setup of asterisk and GXP2000 (the one that seems to lose registration most frequently)
PFSense
Firewall rules:
::Floating::
Catchall to put UDP traffic from LAN to hosted Asterisk in high priority queue
Proto
UDP 1.2.3.4 (asterisk) * * * * qVoIP
::WAN::
I have a first rule that should allow all traffic from the asterisk server into LAN. I don’t think I will be running into any firewall blocking issues.
ID Proto Source Port Destination Port Gateway Queue Schedule Description
UDP 1.2.3.4 (asterisk) * * * * none Allow ALL UDP from Astersk > LAN
Info is from FreePBX. Let me know if you’d rather see .conf files.
::Settings > ASTERISK SIP SETTING::
NAT - YES
IP configuration - Public IP
Reinvite=NO
Registrations
registertimeout=20
registerattempts=0
Registration Times
minexpiry=60
maxexpiry=120
defaultexpiry=120
::ASTERISK FreePBX Extension 501 Settings::
This device uses sip technology.
secret=abc123
dtmfmode=RFC 2833
canreinvite=no
context=from-internal
hostdynamic
trustrpid=YES
sendrpid=NO
type=friend
nat=yes
port=5060
qualify=yes
qualifyfreq=60
transport=UDP
encryption=no
:GXP2000 Phone Settings:
*Advanced settings (which seem to relate to registration or NAT)
Local RTP port: 5004
Use random port: No Yes
keep-alive interval: 20 (in seconds, default 20 seconds)
Use NAT IP: (if specified, this will be used in SIP/SDP message)
*Account Settings
Use DNS SRV: No
SIP Registration: Yes
Support SIP Instance ID No
Register Expiration: 15 (in minutes. default 1 hour, max 45 days)
local SIP port: 5060 (default 5060)
SIP Registration Failure Retry Wait Time: 20 (in seconds. Between 1-3600, default is 20)
SIP T1 Timeout: 1 sec
SIP T2 Interval: 4 sec
SIP Transport: UDP
Use RFC3581 Symmetric Routing: No
NAT Traversal (STUN): Yes
SUBSCRIBE for MWI: No
SUBSCRIBE for Registration Event: No
PUBLISH for Presence: No
Proxy-Require:
Session Expiration: 180 (in seconds. default 180 seconds)
Min-SE: 90 (in seconds. default and minimum 90 seconds)
Force INVITE: No Yes (Always refresh with INVITE instead of UPDATE)
Check SIP User ID for incoming INVITE: No
LOGS
voice*CLI> sip show peers
501/501 4.3.2.1 D N A 51478 UNREACHABLE
502/502 4.3.2.1 D N A 25619 OK (45 ms)
…
- Both phones are in the office. Behavior alternates between OK and UNREACHABLE. 501 is the GXP2000 and 502 is the SPA-942
voice*CLI> sip show peer 501
EXTENSION 501
- Name : 501
Secret :
Transfer mode: open
CallingPres : Presentation Allowed, Not Screened
Mailbox : [email protected]
VM Extension : *97
LastMsgsSent : 0/0
Call limit : 2147483647
Max forwards : 0
Dynamic : Yes
MaxCallBR : 384 kbps
Expire : 1077
Insecure : no
Force rport : Yes
ACL : Yes
DirectMedACL : No
DirectMedia : No
PromiscRedir : No
User=Phone : No
Ign SDP ver : No
Trust RPID : No
Send RPID : No
Subscriptions: Yes
Overlap dial : Yes
DTMFmode : rfc2833
Timer T1 : 500
Timer B : 32000
ToHost :
Addr->IP : 4.3.2.1:51478
Defaddr->IP : (null)
Prim.Transp. : UDP
Allowed.Trsp : UDP
Def. Username: 501
SIP Options : (none)
Codecs : 0x38000e (gsm|ulaw|alaw|h263|h263p|h264)
Codec Order : (ulaw:20,alaw:20,gsm:20)
Auto-Framing : No
Status : UNREACHABLE
Useragent : Grandstream GXP2000 1.2.5.3
Reg. Contact : sip:[email protected]:50904;transport=udp
Qualify Freq : 60000 ms
Sess-Timers : Accept
Sess-Refresh : uas
Sess-Expires : 1800 secs
Min-Sess : 90 secs
RTP Engine : asterisk
Parkinglot :
Use Reason : No
Encryption : No
pftop from PFSense firewall on 4.3.2.1 (office)
PR D SRC DEST STATE AGE EXP PKTS BYTES
udp I 1.2.3.4:5060 4.3.2.1:5060 0:1 24 17 5 2800
udp O 192.168.10.199:50904 1.2.3.4:5060 2:2 232 8 12 7350
udp I 192.168.10.194:5060 1.2.3.4:5060 2:2 46336 47 6373 3749K
udp O 192.168.10.194:5060 1.2.3.4:5060 2:2 46336 47 6373 3749K
udp I 192.168.10.199:50904 1.2.3.4:5060 2:2 232 8 12 7350
udp I 192.168.10.196:5060 1.2.3.4:5060 2:2 41653 54 9797 4413K
udp O 192.168.10.196:5060 1.2.3.4:5060 2:2 41653 54 9797 4413K
[[email protected] ~]# grep -i ‘unreachable|reachable’ /var/log/asterisk/full |grep -v 553
[2012-11-17 04:25:11] NOTICE[2436] chan_sip.c: Peer ‘501’ is now UNREACHABLE! Last qualify: 65
[2012-11-17 04:48:03] NOTICE[2436] chan_sip.c: Peer ‘501’ is now Reachable. (65ms / 2000ms)
[2012-11-17 04:59:08] NOTICE[2436] chan_sip.c: Peer ‘501’ is now UNREACHABLE! Last qualify: 69
[2012-11-17 05:38:03] NOTICE[2436] chan_sip.c: Peer ‘501’ is now Reachable. (61ms / 2000ms)
[2012-11-17 05:46:08] NOTICE[2436] chan_sip.c: Peer ‘501’ is now UNREACHABLE! Last qualify: 59
[2012-11-17 06:28:04] NOTICE[2436] chan_sip.c: Peer ‘501’ is now Reachable. (65ms / 2000ms)
[2012-11-17 06:47:09] NOTICE[2436] chan_sip.c: Peer ‘501’ is now UNREACHABLE! Last qualify: 127
[2012-11-17 06:54:39] NOTICE[2436] chan_sip.c: Peer ‘502’ is now Reachable. (1046ms / 2000ms)
[2012-11-17 07:18:04] NOTICE[2436] chan_sip.c: Peer ‘501’ is now Reachable. (59ms / 2000ms)
[2012-11-17 07:36:09] NOTICE[2436] chan_sip.c: Peer ‘501’ is now UNREACHABLE! Last qualify: 63
[2012-11-17 08:08:04] NOTICE[2436] chan_sip.c: Peer ‘501’ is now Reachable. (65ms / 2000ms)
[2012-11-17 08:09:08] NOTICE[2436] chan_sip.c: Peer ‘501’ is now UNREACHABLE! Last qualify: 65
[2012-11-17 08:58:04] NOTICE[2436] chan_sip.c: Peer ‘501’ is now Reachable. (61ms / 2000ms)
[2012-11-17 09:13:05] NOTICE[2436] chan_sip.c: Peer ‘502’ is now Reachable. (39ms / 2000ms)
[2012-11-17 10:12:09] NOTICE[2436] chan_sip.c: Peer ‘501’ is now UNREACHABLE! Last qualify: 67
** MAKING CALL FROM 551 (offsite SIP phone) to 501 (Office phone)
== Using SIP RTP CoS mark 5
– Executing [[email protected]:1] Set(“SIP/551-0000021a”, “__RINGTIMER=15”) in new stack
– Executing [[email protected]:2] Macro(“SIP/551-0000021a”, “exten-vm,501,501,0,0,0”) in new stack
– Executing [[email protected]:1] Macro(“SIP/551-0000021a”, “user-callerid,”) in new stack
– Executing [[email protected]:1] Set(“SIP/551-0000021a”, “AMPUSER=551”) in new stack
– Executing [[email protected]:2] GotoIf(“SIP/551-0000021a”, “0?report”) in new stack
– Executing [[email protected]:3] ExecIf(“SIP/551-0000021a”, “1?Set(REALCALLERIDNUM=551)”) in new stack
– Executing [[email protected]:4] Set(“SIP/551-0000021a”, “AMPUSER=551”) in new stack
– Executing [[email protected]:5] Set(“SIP/551-0000021a”, “AMPUSERCIDNAME=Aaron Home”) in new stack
– Executing [[email protected]:6] GotoIf(“SIP/551-0000021a”, “0?report”) in new stack
– Executing [[email protected]:7] Set(“SIP/551-0000021a”, “AMPUSERCID=551”) in new stack
– Executing [[email protected]:8] Set(“SIP/551-0000021a”, “CALLERID(all)=“Aaron Home” <551>”) in new stack
– Executing [[email protected]:9] GotoIf(“SIP/551-0000021a”, “0?limit”) in new stack
– Executing [[email protected]:10] ExecIf(“SIP/551-0000021a”, “0?Set(GROUP(concurrency_limit)=551)”) in new stack
– Executing [[email protected]:11] ExecIf(“SIP/551-0000021a”, “0?Set(CHANNEL(language)=)”) in new stack
– Executing [[email protected]:12] GosubIf(“SIP/551-0000021a”, “7?sub-ccss,s,1(macro-exten-vm,501)”) in new stack
– Executing [[email protected]:1] ExecIf(“SIP/551-0000021a”, “0?Return()”) in new stack
– Executing [[email protected]:2] Set(“SIP/551-0000021a”, “CCSS_SETUP=TRUE”) in new stack
– Executing [[email protected]:3] GosubIf(“SIP/551-0000021a”, “0?monitor_config,1(macro-exten-vm,501):monitor_default,1(macro-exten-vm,501)”) in new stack
– Executing [[email protected]:1] GotoIf(“SIP/551-0000021a”, “1?is_exten”) in new stack
– Goto (sub-ccss,monitor_default,4)
– Executing [[email protected]:4] Set(“SIP/551-0000021a”, “CALLCOMPLETION(cc_monitor_policy)=generic”) in new stack
– Executing [[email protected]:5] Set(“SIP/551-0000021a”, “CALLCOMPLETION(cc_max_monitors)=5”) in new stack
– Executing [[email protected]:6] Return(“SIP/551-0000021a”, “TRUE”) in new stack
– Executing [[email protected]:4] GosubIf(“SIP/551-0000021a”, “7?agent_config,1():agent_default,1()”) in new stack
– Executing [[email protected]:1] Set(“SIP/551-0000021a”, “CALLCOMPLETION(cc_agent_policy)=generic”) in new stack
– Executing [[email protected]:2] Set(“SIP/551-0000021a”, “CALLCOMPLETION(cc_offer_timer)=30”) in new stack
– Executing [[email protected]:3] Set(“SIP/551-0000021a”, “CALLCOMPLETION(ccbs_available_timer)=”) in new stack
– Executing [[email protected]:4] Set(“SIP/551-0000021a”, “CALLCOMPLETION(ccnr_available_timer)=”) in new stack
– Executing [[email protected]:5] Set(“SIP/551-0000021a”, “CALLCOMPLETION(cc_callback_macro)=ccss-default”) in new stack
– Executing [[email protected]:6] ExecIf(“SIP/551-0000021a”, “1?Set(CALLCOMPLETION(cc_recall_timer)=)”) in new stack
– Executing [[email protected]:7] ExecIf(“SIP/551-0000021a”, “1?Set(CALLCOMPLETION(cc_max_agents)=)”) in new stack
– Executing [[email protected]:8] ExecIf(“SIP/551-0000021a”, “0?Set(CALLCOMPLETION(cc_agent_dialstring)=Local/[email protected])”) in new stack
– Executing [[email protected]:9] Set(“SIP/551-0000021a”, “CALLCOMPLETION(cc_callback_macro)=ccss-default”) in new stack
– Executing [[email protected]:10] Return(“SIP/551-0000021a”, “”) in new stack
– Executing [[email protected]:5] Set(“SIP/551-0000021a”, “DB(AMPUSER/551/ccss/last_number)=501”) in new stack
– Executing [[email protected]:6] Return(“SIP/551-0000021a”, “”) in new stack
– Executing [[email protected]:13] GotoIf(“SIP/551-0000021a”, “0?continue”) in new stack
– Executing [[email protected]:14] Set(“SIP/551-0000021a”, “__TTL=64”) in new stack
– Executing [[email protected]:15] GotoIf(“SIP/551-0000021a”, “1?continue”) in new stack
– Goto (macro-user-callerid,s,26)
– Executing [[email protected]:26] Set(“SIP/551-0000021a”, “CALLERID(number)=551”) in new stack
– Executing [[email protected]:27] Set(“SIP/551-0000021a”, “CALLERID(name)=Aaron Home”) in new stack
– Executing [[email protected]:28] Set(“SIP/551-0000021a”, “CHANNEL(language)=en”) in new stack
– Executing [[email protected]:2] Set(“SIP/551-0000021a”, “RingGroupMethod=none”) in new stack
– Executing [[email protected]:3] Set(“SIP/551-0000021a”, “__EXTTOCALL=501”) in new stack
– Executing [[email protected]:4] Set(“SIP/551-0000021a”, “__PICKUPMARK=501”) in new stack
– Executing [[email protected]:5] Set(“SIP/551-0000021a”, “RT=15”) in new stack
– Executing [[email protected]:6] Gosub(“SIP/551-0000021a”, “sub-record-check,s,1(exten,501,)”) in new stack
– Executing [[email protected]:1] GotoIf(“SIP/551-0000021a”, “1?check”) in new stack
– Goto (sub-record-check,s,6)
– Executing [[email protected]:6] Set(“SIP/551-0000021a”, “__MON_FMT=wav”) in new stack
– Executing [[email protected]:7] GotoIf(“SIP/551-0000021a”, “1?next”) in new stack
– Goto (sub-record-check,s,10)
– Executing [[email protected]:10] ExecIf(“SIP/551-0000021a”, “0?Return()”) in new stack
– Executing [[email protected]:11] GotoIf(“SIP/551-0000021a”, “0?exten,1”) in new stack
– Executing [[email protected]:12] Set(“SIP/551-0000021a”, “__REC_STATUS=INITIALIZED”) in new stack
– Executing [[email protected]:13] ExecIf(“SIP/551-0000021a”, “0?Set(__REC_POLICY_MODE=)”) in new stack
– Executing [[email protected]:14] Set(“SIP/551-0000021a”, “NOW=1353177086”) in new stack
– Executing [[email protected]:15] Set(“SIP/551-0000021a”, “__DAY=17”) in new stack
– Executing [[email protected]:16] Set(“SIP/551-0000021a”, “__MONTH=11”) in new stack
– Executing [[email protected]:17] Set(“SIP/551-0000021a”, “__YEAR=2012”) in new stack
– Executing [[email protected]:18] Set(“SIP/551-0000021a”, “__TIMESTR=20121117-103126”) in new stack
– Executing [[email protected]:19] Set(“SIP/551-0000021a”, “__FROMEXTEN=551”) in new stack
– Executing [[email protected]:20] Set(“SIP/551-0000021a”, “__CALLFILENAME=exten-501-551-20121117-103126-1353177086.540”) in new stack
– Executing [[email protected]:21] Goto(“SIP/551-0000021a”, “exten,1”) in new stack
– Goto (sub-record-check,exten,1)
– Executing [[email protected]:1] GotoIf(“SIP/551-0000021a”, “0?callee”) in new stack
– Executing [[email protected]:2] Set(“SIP/551-0000021a”, “__REC_POLICY_MODE=dontcare”) in new stack
– Executing [[email protected]:3] GotoIf(“SIP/551-0000021a”, “1?caller”) in new stack
– Goto (sub-record-check,exten,10)
– Executing [[email protected]:10] Set(“SIP/551-0000021a”, “REC_POLICY_MODE=dontcare”) in new stack
– Executing [[email protected]:11] GosubIf(“SIP/551-0000021a”, “0?record,1(exten,501,551)”) in new stack
– Executing [[email protected]:12] Return(“SIP/551-0000021a”, “”) in new stack
– Executing [[email protected]:7] GotoIf(“SIP/551-0000021a”, “1?macrodial”) in new stack
– Goto (macro-exten-vm,s,13)
– Executing [[email protected]:13] GosubIf(“SIP/551-0000021a”, “0?clrheader,1()”) in new stack
– Executing [s[email protected]:14] Macro(“SIP/551-0000021a”, “dial-one,15,tr,501”) in new stack
– Executing [[email protected]:1] Set(“SIP/551-0000021a”, “DEXTEN=501”) in new stack
– Executing [[email protected]:2] Set(“SIP/551-0000021a”, “DIALSTATUS_CW=”) in new stack
– Executing [[email protected]:3] GosubIf(“SIP/551-0000021a”, “0?screen,1()”) in new stack
– Executing [[email protected]:4] GosubIf(“SIP/551-0000021a”, “0?cf,1()”) in new stack
– Executing [[email protected]:5] GotoIf(“SIP/551-0000021a”, “1?skip1”) in new stack
– Goto (macro-dial-one,s,8)
– Executing [[email protected]:8] GotoIf(“SIP/551-0000021a”, “0?nodial”) in new stack
– Executing [[email protected]:9] GotoIf(“SIP/551-0000021a”, “0?continue”) in new stack
– Executing [[email protected]:10] Set(“SIP/551-0000021a”, “EXTHASCW=”) in new stack
– Executing [[email protected]:11] GotoIf(“SIP/551-0000021a”, “1?next1:cwinusebusy”) in new stack
– Goto (macro-dial-one,s,12)
– Executing [[email protected]:12] GotoIf(“SIP/551-0000021a”, “0?docfu:skip3”) in new stack
– Goto (macro-dial-one,s,16)
– Executing [[email protected]:16] GotoIf(“SIP/551-0000021a”, “1?next2:continue”) in new stack
– Goto (macro-dial-one,s,17)
– Executing [[email protected]:17] GotoIf(“SIP/551-0000021a”, “1?continue”) in new stack
– Goto (macro-dial-one,s,25)
– Executing [[email protected]:25] GotoIf(“SIP/551-0000021a”, “0?nodial”) in new stack
– Executing [[email protected]:26] GosubIf(“SIP/551-0000021a”, “1?dstring,1():dlocal,1()”) in new stack
– Executing [[email protected]:1] Set(“SIP/551-0000021a”, “DSTRING=”) in new stack
– Executing [[email protected]:2] Set(“SIP/551-0000021a”, “DEVICES=501”) in new stack
– Executing [[email protected]:3] ExecIf(“SIP/551-0000021a”, “0?Return()”) in new stack
– Executing [[email protected]:4] ExecIf(“SIP/551-0000021a”, “0?Set(DEVICES=01)”) in new stack
– Executing [[email protected]:5] Set(“SIP/551-0000021a”, “LOOPCNT=1”) in new stack
– Executing [[email protected]:6] Set(“SIP/551-0000021a”, “ITER=1”) in new stack
– Executing [[email protected]:7] Set(“SIP/551-0000021a”, “THISDIAL=SIP/501”) in new stack
– Executing [[email protected]:8] GosubIf(“SIP/551-0000021a”, “1?zap2dahdi,1()”) in new stack
– Executing [[email protected]:1] ExecIf(“SIP/551-0000021a”, “0?Return()”) in new stack
– Executing [[email protected]:2] Set(“SIP/551-0000021a”, “NEWDIAL=”) in new stack
– Executing [[email protected]:3] Set(“SIP/551-0000021a”, “LOOPCNT2=1”) in new stack
– Executing [[email protected]:4] Set(“SIP/551-0000021a”, “ITER2=1”) in new stack
– Executing [[email protected]:5] Set(“SIP/551-0000021a”, “THISPART2=SIP/501”) in new stack
– Executing [[email protected]:6] ExecIf(“SIP/551-0000021a”, “0?Set(THISPART2=DAHDI/501)”) in new stack
– Executing [[email protected]:7] Set(“SIP/551-0000021a”, “NEWDIAL=SIP/501&”) in new stack
– Executing [[email protected]:8] Set(“SIP/551-0000021a”, “ITER2=2”) in new stack
– Executing [[email protected]:9] GotoIf(“SIP/551-0000021a”, “0?begin2”) in new stack
– Executing [[email protected]:10] Set(“SIP/551-0000021a”, “THISDIAL=SIP/501”) in new stack
– Executing [[email protected]:11] Return(“SIP/551-0000021a”, “”) in new stack
– Executing [[email protected]:9] Set(“SIP/551-0000021a”, “DSTRING=SIP/501&”) in new stack
– Executing [[email protected]:10] Set(“SIP/551-0000021a”, “ITER=2”) in new stack
– Executing [[email protected]:11] GotoIf(“SIP/551-0000021a”, “0?begin”) in new stack
– Executing [[email protected]:12] Set(“SIP/551-0000021a”, “DSTRING=SIP/501”) in new stack
– Executing [[email protected]:13] Return(“SIP/551-0000021a”, “”) in new stack
– Executing [[email protected]:27] GotoIf(“SIP/551-0000021a”, “0?nodial”) in new stack
– Executing [[email protected]:28] GotoIf(“SIP/551-0000021a”, “0?skiptrace”) in new stack
– Executing [[email protected]:29] GosubIf(“SIP/551-0000021a”, “1?ctset,1():ctclear,1()”) in new stack
– Executing [[email protected]:1] Set(“SIP/551-0000021a”, “DB(CALLTRACE/501)=551”) in new stack
– Executing [[email protected]:2] Return(“SIP/551-0000021a”, “”) in new stack
– Executing [[email protected]:30] Set(“SIP/551-0000021a”, “D_OPTIONS=tr”) in new stack
– Executing [[email protected]:31] ExecIf(“SIP/551-0000021a”, “0?SIPAddHeader(Alert-Info: )”) in new stack
– Executing [[email protected]:32] ExecIf(“SIP/551-0000021a”, “0?SIPAddHeader()”) in new stack
– Executing [[email protected]:33] ExecIf(“SIP/551-0000021a”, “0?Set(CHANNEL(musicclass)=)”) in new stack
– Executing [[email protected]:34] GosubIf(“SIP/551-0000021a”, “0?qwait,1()”) in new stack
– Executing [[email protected]:35] Set(“SIP/551-0000021a”, “__CWIGNORE=”) in new stack
– Executing [[email protected]:36] Set(“SIP/551-0000021a”, “__KEEPCID=TRUE”) in new stack
– Executing [[email protected]:37] GotoIf(“SIP/551-0000021a”, “0?usegoto,1”) in new stack
– Executing [[email protected]:38] GotoIf(“SIP/551-0000021a”, “0?godial”) in new stack
– Executing [[email protected]:39] Set(“SIP/551-0000021a”, “CONNECTEDLINE(name,i)=Jane Robinson”) in new stack
– Executing [[email protected]:40] Set(“SIP/551-0000021a”, “CONNECTEDLINE(num)=501”) in new stack
– Executing [[email protected]:41] Set(“SIP/551-0000021a”, “D_OPTIONS=trI”) in new stack
– Executing [[email protected]:42] Dial(“SIP/551-0000021a”, “SIP/501,15,trI”) in new stack
[2012-11-17 10:31:26] WARNING[15685]: app_dial.c:2341 dial_exec_full: Unable to create channel of type ‘SIP’ (cause 20 - Unknown)
== Everyone is busy/congested at this time (1:0/0/1)
– Executing [[email protected]:43] ExecIf(“SIP/551-0000021a”, “0?Set(DIALSTATUS=)”) in new stack
– Executing [[email protected]:44] GosubIf(“SIP/551-0000021a”, “0?s-CHANUNAVAIL,1()”) in new stack
– Executing [[email protected]:45] MacroExit(“SIP/551-0000021a”, “”) in new stack
– Executing [[email protected]:15] Set(“SIP/551-0000021a”, “SV_DIALSTATUS=CHANUNAVAIL”) in new stack
– Executing [[email protected]:16] GosubIf(“SIP/551-0000021a”, “0?docfu,1()”) in new stack
– Executing [[email protected]:17] GosubIf(“SIP/551-0000021a”, “0?docfb,1()”) in new stack
– Executing [[email protected]:18] Set(“SIP/551-0000021a”, “DIALSTATUS=CHANUNAVAIL”) in new stack
– Executing [[email protected]:19] ExecIf(“SIP/551-0000021a”, “0?MacroExit()”) in new stack
– Executing [[email protected]:20] GotoIf(“SIP/551-0000021a”, “0?s-CHANUNAVAIL,1”) in new stack
– Executing [[email protected]:21] Macro(“SIP/551-0000021a”, “vm,501,CHANUNAVAIL,”) in new stack
– Executing [[email protected]:1] Macro(“SIP/551-0000021a”, “user-callerid,SKIPTTL”) in new stack
– Executing [[email protected]:1] Set(“SIP/551-0000021a”, “AMPUSER=551”) in new stack
– Executing [[email protected]:2] GotoIf(“SIP/551-0000021a”, “10?report”) in new stack
– Goto (macro-user-callerid,s,13)
– Executing [[email protected]:13] GotoIf(“SIP/551-0000021a”, “1?continue”) in new stack
– Goto (macro-user-callerid,s,26)
– Executing [[email protected]:26] Set(“SIP/551-0000021a”, “CALLERID(number)=551”) in new stack
– Executing [[email protected]:27] Set(“SIP/551-0000021a”, “CALLERID(name)=Aaron Home”) in new stack
– Executing [[email protected]:28] Set(“SIP/551-0000021a”, “CHANNEL(language)=en”) in new stack
– Executing [[email protected]:2] Set(“SIP/551-0000021a”, “VMGAIN=”"") in new stack
– Executing [[email protected]:3] Macro(“SIP/551-0000021a”, “blkvm-check,”) in new stack
– Executing [[email protected]:1] Set(“SIP/551-0000021a”, “GOSUB_RETVAL=”) in new stack
– Executing [[email protected]:2] ExecIf(“SIP/551-0000021a”, “0?Set(GOSUB_RETVAL=TRUE)”) in new stack
– Executing [[email protected]:3] MacroExit(“SIP/551-0000021a”, “”) in new stack
– Executing [[email protected]:4] GotoIf(“SIP/551-0000021a”, “1?vmx,1”) in new stack
– Goto (macro-vm,vmx,1)
– Executing [[email protected]:1] Set(“SIP/551-0000021a”, “MEXTEN=501”) in new stack
– Executing [[email protected]:2] Set(“SIP/551-0000021a”, “MMODE=CHANUNAVAIL”) in new stack
– Executing [[email protected]:3] Set(“SIP/551-0000021a”, “RETVM=”) in new stack
– Executing [[email protected]:4] Set(“SIP/551-0000021a”, “MODE=unavail”) in new stack
– Executing [[email protected]:5] GotoIf(“SIP/551-0000021a”, “1?chknomsg”) in new stack
– Goto (macro-vm,vmx,8)
– Executing [[email protected]:8] GotoIf(“SIP/551-0000021a”, “0?s-CHANUNAVAIL,1”) in new stack
– Executing [[email protected]:9] GotoIf(“SIP/551-0000021a”, “1?notdirect”) in new stack
– Goto (macro-vm,vmx,11)
– Executing [[email protected]:11] NoOp(“SIP/551-0000021a”, “Checking if ext 501 is enabled: “) in new stack
– Executing [[email protected]:12] GotoIf(“SIP/551-0000021a”, “1?s-CHANUNAVAIL,1”) in new stack
– Goto (macro-vm,s-CHANUNAVAIL,1)
– Executing [[email protected]:1] Macro(“SIP/551-0000021a”, “get-vmcontext,501”) in new stack
– Executing [[email protected]:1] Set(“SIP/551-0000021a”, “VMCONTEXT=default”) in new stack
– Executing [[email protected]:2] GotoIf(“SIP/551-0000021a”, “0?200:300”) in new stack
– Goto (macro-get-vmcontext,s,300)
– Executing [[email protected]:300] NoOp(“SIP/551-0000021a”, “”) in new stack
– Executing [[email protected]:2] VoiceMail(“SIP/551-0000021a”, “[email protected],u”””) in new stack