NAT issues - Devices bounce in and out of "UNANVAILABLE"

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 : 501@default
    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

[root@voice ~]# 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 [501@from-internal:1] Set(“SIP/551-0000021a”, “__RINGTIMER=15”) in new stack
– Executing [501@from-internal:2] Macro(“SIP/551-0000021a”, “exten-vm,501,501,0,0,0”) in new stack
– Executing [s@macro-exten-vm:1] Macro(“SIP/551-0000021a”, “user-callerid,”) in new stack
– Executing [s@macro-user-callerid:1] Set(“SIP/551-0000021a”, “AMPUSER=551”) in new stack
– Executing [s@macro-user-callerid:2] GotoIf(“SIP/551-0000021a”, “0?report”) in new stack
– Executing [s@macro-user-callerid:3] ExecIf(“SIP/551-0000021a”, “1?Set(REALCALLERIDNUM=551)”) in new stack
– Executing [s@macro-user-callerid:4] Set(“SIP/551-0000021a”, “AMPUSER=551”) in new stack
– Executing [s@macro-user-callerid:5] Set(“SIP/551-0000021a”, “AMPUSERCIDNAME=Aaron Home”) in new stack
– Executing [s@macro-user-callerid:6] GotoIf(“SIP/551-0000021a”, “0?report”) in new stack
– Executing [s@macro-user-callerid:7] Set(“SIP/551-0000021a”, “AMPUSERCID=551”) in new stack
– Executing [s@macro-user-callerid:8] Set(“SIP/551-0000021a”, “CALLERID(all)=“Aaron Home” <551>”) in new stack
– Executing [s@macro-user-callerid:9] GotoIf(“SIP/551-0000021a”, “0?limit”) in new stack
– Executing [s@macro-user-callerid:10] ExecIf(“SIP/551-0000021a”, “0?Set(GROUP(concurrency_limit)=551)”) in new stack
– Executing [s@macro-user-callerid:11] ExecIf(“SIP/551-0000021a”, “0?Set(CHANNEL(language)=)”) in new stack
– Executing [s@macro-user-callerid:12] GosubIf(“SIP/551-0000021a”, “7?sub-ccss,s,1(macro-exten-vm,501)”) in new stack
– Executing [s@sub-ccss:1] ExecIf(“SIP/551-0000021a”, “0?Return()”) in new stack
– Executing [s@sub-ccss:2] Set(“SIP/551-0000021a”, “CCSS_SETUP=TRUE”) in new stack
– Executing [s@sub-ccss:3] GosubIf(“SIP/551-0000021a”, “0?monitor_config,1(macro-exten-vm,501):monitor_default,1(macro-exten-vm,501)”) in new stack
– Executing [monitor_default@sub-ccss:1] GotoIf(“SIP/551-0000021a”, “1?is_exten”) in new stack
– Goto (sub-ccss,monitor_default,4)
– Executing [monitor_default@sub-ccss:4] Set(“SIP/551-0000021a”, “CALLCOMPLETION(cc_monitor_policy)=generic”) in new stack
– Executing [monitor_default@sub-ccss:5] Set(“SIP/551-0000021a”, “CALLCOMPLETION(cc_max_monitors)=5”) in new stack
– Executing [monitor_default@sub-ccss:6] Return(“SIP/551-0000021a”, “TRUE”) in new stack
– Executing [s@sub-ccss:4] GosubIf(“SIP/551-0000021a”, “7?agent_config,1():agent_default,1()”) in new stack
– Executing [agent_config@sub-ccss:1] Set(“SIP/551-0000021a”, “CALLCOMPLETION(cc_agent_policy)=generic”) in new stack
– Executing [agent_config@sub-ccss:2] Set(“SIP/551-0000021a”, “CALLCOMPLETION(cc_offer_timer)=30”) in new stack
– Executing [agent_config@sub-ccss:3] Set(“SIP/551-0000021a”, “CALLCOMPLETION(ccbs_available_timer)=”) in new stack
– Executing [agent_config@sub-ccss:4] Set(“SIP/551-0000021a”, “CALLCOMPLETION(ccnr_available_timer)=”) in new stack
– Executing [agent_config@sub-ccss:5] Set(“SIP/551-0000021a”, “CALLCOMPLETION(cc_callback_macro)=ccss-default”) in new stack
– Executing [agent_config@sub-ccss:6] ExecIf(“SIP/551-0000021a”, “1?Set(CALLCOMPLETION(cc_recall_timer)=)”) in new stack
– Executing [agent_config@sub-ccss:7] ExecIf(“SIP/551-0000021a”, “1?Set(CALLCOMPLETION(cc_max_agents)=)”) in new stack
– Executing [agent_config@sub-ccss:8] ExecIf(“SIP/551-0000021a”, “0?Set(CALLCOMPLETION(cc_agent_dialstring)=Local/551_501@from-ccss-)”) in new stack
– Executing [agent_config@sub-ccss:9] Set(“SIP/551-0000021a”, “CALLCOMPLETION(cc_callback_macro)=ccss-default”) in new stack
– Executing [agent_config@sub-ccss:10] Return(“SIP/551-0000021a”, “”) in new stack
– Executing [s@sub-ccss:5] Set(“SIP/551-0000021a”, “DB(AMPUSER/551/ccss/last_number)=501”) in new stack
– Executing [s@sub-ccss:6] Return(“SIP/551-0000021a”, “”) in new stack
– Executing [s@macro-user-callerid:13] GotoIf(“SIP/551-0000021a”, “0?continue”) in new stack
– Executing [s@macro-user-callerid:14] Set(“SIP/551-0000021a”, “__TTL=64”) in new stack
– Executing [s@macro-user-callerid:15] GotoIf(“SIP/551-0000021a”, “1?continue”) in new stack
– Goto (macro-user-callerid,s,26)
– Executing [s@macro-user-callerid:26] Set(“SIP/551-0000021a”, “CALLERID(number)=551”) in new stack
– Executing [s@macro-user-callerid:27] Set(“SIP/551-0000021a”, “CALLERID(name)=Aaron Home”) in new stack
– Executing [s@macro-user-callerid:28] Set(“SIP/551-0000021a”, “CHANNEL(language)=en”) in new stack
– Executing [s@macro-exten-vm:2] Set(“SIP/551-0000021a”, “RingGroupMethod=none”) in new stack
– Executing [s@macro-exten-vm:3] Set(“SIP/551-0000021a”, “__EXTTOCALL=501”) in new stack
– Executing [s@macro-exten-vm:4] Set(“SIP/551-0000021a”, “__PICKUPMARK=501”) in new stack
– Executing [s@macro-exten-vm:5] Set(“SIP/551-0000021a”, “RT=15”) in new stack
– Executing [s@macro-exten-vm:6] Gosub(“SIP/551-0000021a”, “sub-record-check,s,1(exten,501,)”) in new stack
– Executing [s@sub-record-check:1] GotoIf(“SIP/551-0000021a”, “1?check”) in new stack
– Goto (sub-record-check,s,6)
– Executing [s@sub-record-check:6] Set(“SIP/551-0000021a”, “__MON_FMT=wav”) in new stack
– Executing [s@sub-record-check:7] GotoIf(“SIP/551-0000021a”, “1?next”) in new stack
– Goto (sub-record-check,s,10)
– Executing [s@sub-record-check:10] ExecIf(“SIP/551-0000021a”, “0?Return()”) in new stack
– Executing [s@sub-record-check:11] GotoIf(“SIP/551-0000021a”, “0?exten,1”) in new stack
– Executing [s@sub-record-check:12] Set(“SIP/551-0000021a”, “__REC_STATUS=INITIALIZED”) in new stack
– Executing [s@sub-record-check:13] ExecIf(“SIP/551-0000021a”, “0?Set(__REC_POLICY_MODE=)”) in new stack
– Executing [s@sub-record-check:14] Set(“SIP/551-0000021a”, “NOW=1353177086”) in new stack
– Executing [s@sub-record-check:15] Set(“SIP/551-0000021a”, “__DAY=17”) in new stack
– Executing [s@sub-record-check:16] Set(“SIP/551-0000021a”, “__MONTH=11”) in new stack
– Executing [s@sub-record-check:17] Set(“SIP/551-0000021a”, “__YEAR=2012”) in new stack
– Executing [s@sub-record-check:18] Set(“SIP/551-0000021a”, “__TIMESTR=20121117-103126”) in new stack
– Executing [s@sub-record-check:19] Set(“SIP/551-0000021a”, “__FROMEXTEN=551”) in new stack
– Executing [s@sub-record-check:20] Set(“SIP/551-0000021a”, “__CALLFILENAME=exten-501-551-20121117-103126-1353177086.540”) in new stack
– Executing [s@sub-record-check:21] Goto(“SIP/551-0000021a”, “exten,1”) in new stack
– Goto (sub-record-check,exten,1)
– Executing [exten@sub-record-check:1] GotoIf(“SIP/551-0000021a”, “0?callee”) in new stack
– Executing [exten@sub-record-check:2] Set(“SIP/551-0000021a”, “__REC_POLICY_MODE=dontcare”) in new stack
– Executing [exten@sub-record-check:3] GotoIf(“SIP/551-0000021a”, “1?caller”) in new stack
– Goto (sub-record-check,exten,10)
– Executing [exten@sub-record-check:10] Set(“SIP/551-0000021a”, “REC_POLICY_MODE=dontcare”) in new stack
– Executing [exten@sub-record-check:11] GosubIf(“SIP/551-0000021a”, “0?record,1(exten,501,551)”) in new stack
– Executing [exten@sub-record-check:12] Return(“SIP/551-0000021a”, “”) in new stack
– Executing [s@macro-exten-vm:7] GotoIf(“SIP/551-0000021a”, “1?macrodial”) in new stack
– Goto (macro-exten-vm,s,13)
– Executing [s@macro-exten-vm:13] GosubIf(“SIP/551-0000021a”, “0?clrheader,1()”) in new stack
– Executing [s@macro-exten-vm:14] Macro(“SIP/551-0000021a”, “dial-one,15,tr,501”) in new stack
– Executing [s@macro-dial-one:1] Set(“SIP/551-0000021a”, “DEXTEN=501”) in new stack
– Executing [s@macro-dial-one:2] Set(“SIP/551-0000021a”, “DIALSTATUS_CW=”) in new stack
– Executing [s@macro-dial-one:3] GosubIf(“SIP/551-0000021a”, “0?screen,1()”) in new stack
– Executing [s@macro-dial-one:4] GosubIf(“SIP/551-0000021a”, “0?cf,1()”) in new stack
– Executing [s@macro-dial-one:5] GotoIf(“SIP/551-0000021a”, “1?skip1”) in new stack
– Goto (macro-dial-one,s,8)
– Executing [s@macro-dial-one:8] GotoIf(“SIP/551-0000021a”, “0?nodial”) in new stack
– Executing [s@macro-dial-one:9] GotoIf(“SIP/551-0000021a”, “0?continue”) in new stack
– Executing [s@macro-dial-one:10] Set(“SIP/551-0000021a”, “EXTHASCW=”) in new stack
– Executing [s@macro-dial-one:11] GotoIf(“SIP/551-0000021a”, “1?next1:cwinusebusy”) in new stack
– Goto (macro-dial-one,s,12)
– Executing [s@macro-dial-one:12] GotoIf(“SIP/551-0000021a”, “0?docfu:skip3”) in new stack
– Goto (macro-dial-one,s,16)
– Executing [s@macro-dial-one:16] GotoIf(“SIP/551-0000021a”, “1?next2:continue”) in new stack
– Goto (macro-dial-one,s,17)
– Executing [s@macro-dial-one:17] GotoIf(“SIP/551-0000021a”, “1?continue”) in new stack
– Goto (macro-dial-one,s,25)
– Executing [s@macro-dial-one:25] GotoIf(“SIP/551-0000021a”, “0?nodial”) in new stack
– Executing [s@macro-dial-one:26] GosubIf(“SIP/551-0000021a”, “1?dstring,1():dlocal,1()”) in new stack
– Executing [dstring@macro-dial-one:1] Set(“SIP/551-0000021a”, “DSTRING=”) in new stack
– Executing [dstring@macro-dial-one:2] Set(“SIP/551-0000021a”, “DEVICES=501”) in new stack
– Executing [dstring@macro-dial-one:3] ExecIf(“SIP/551-0000021a”, “0?Return()”) in new stack
– Executing [dstring@macro-dial-one:4] ExecIf(“SIP/551-0000021a”, “0?Set(DEVICES=01)”) in new stack
– Executing [dstring@macro-dial-one:5] Set(“SIP/551-0000021a”, “LOOPCNT=1”) in new stack
– Executing [dstring@macro-dial-one:6] Set(“SIP/551-0000021a”, “ITER=1”) in new stack
– Executing [dstring@macro-dial-one:7] Set(“SIP/551-0000021a”, “THISDIAL=SIP/501”) in new stack
– Executing [dstring@macro-dial-one:8] GosubIf(“SIP/551-0000021a”, “1?zap2dahdi,1()”) in new stack
– Executing [zap2dahdi@macro-dial-one:1] ExecIf(“SIP/551-0000021a”, “0?Return()”) in new stack
– Executing [zap2dahdi@macro-dial-one:2] Set(“SIP/551-0000021a”, “NEWDIAL=”) in new stack
– Executing [zap2dahdi@macro-dial-one:3] Set(“SIP/551-0000021a”, “LOOPCNT2=1”) in new stack
– Executing [zap2dahdi@macro-dial-one:4] Set(“SIP/551-0000021a”, “ITER2=1”) in new stack
– Executing [zap2dahdi@macro-dial-one:5] Set(“SIP/551-0000021a”, “THISPART2=SIP/501”) in new stack
– Executing [zap2dahdi@macro-dial-one:6] ExecIf(“SIP/551-0000021a”, “0?Set(THISPART2=DAHDI/501)”) in new stack
– Executing [zap2dahdi@macro-dial-one:7] Set(“SIP/551-0000021a”, “NEWDIAL=SIP/501&”) in new stack
– Executing [zap2dahdi@macro-dial-one:8] Set(“SIP/551-0000021a”, “ITER2=2”) in new stack
– Executing [zap2dahdi@macro-dial-one:9] GotoIf(“SIP/551-0000021a”, “0?begin2”) in new stack
– Executing [zap2dahdi@macro-dial-one:10] Set(“SIP/551-0000021a”, “THISDIAL=SIP/501”) in new stack
– Executing [zap2dahdi@macro-dial-one:11] Return(“SIP/551-0000021a”, “”) in new stack
– Executing [dstring@macro-dial-one:9] Set(“SIP/551-0000021a”, “DSTRING=SIP/501&”) in new stack
– Executing [dstring@macro-dial-one:10] Set(“SIP/551-0000021a”, “ITER=2”) in new stack
– Executing [dstring@macro-dial-one:11] GotoIf(“SIP/551-0000021a”, “0?begin”) in new stack
– Executing [dstring@macro-dial-one:12] Set(“SIP/551-0000021a”, “DSTRING=SIP/501”) in new stack
– Executing [dstring@macro-dial-one:13] Return(“SIP/551-0000021a”, “”) in new stack
– Executing [s@macro-dial-one:27] GotoIf(“SIP/551-0000021a”, “0?nodial”) in new stack
– Executing [s@macro-dial-one:28] GotoIf(“SIP/551-0000021a”, “0?skiptrace”) in new stack
– Executing [s@macro-dial-one:29] GosubIf(“SIP/551-0000021a”, “1?ctset,1():ctclear,1()”) in new stack
– Executing [ctset@macro-dial-one:1] Set(“SIP/551-0000021a”, “DB(CALLTRACE/501)=551”) in new stack
– Executing [ctset@macro-dial-one:2] Return(“SIP/551-0000021a”, “”) in new stack
– Executing [s@macro-dial-one:30] Set(“SIP/551-0000021a”, “D_OPTIONS=tr”) in new stack
– Executing [s@macro-dial-one:31] ExecIf(“SIP/551-0000021a”, “0?SIPAddHeader(Alert-Info: )”) in new stack
– Executing [s@macro-dial-one:32] ExecIf(“SIP/551-0000021a”, “0?SIPAddHeader()”) in new stack
– Executing [s@macro-dial-one:33] ExecIf(“SIP/551-0000021a”, “0?Set(CHANNEL(musicclass)=)”) in new stack
– Executing [s@macro-dial-one:34] GosubIf(“SIP/551-0000021a”, “0?qwait,1()”) in new stack
– Executing [s@macro-dial-one:35] Set(“SIP/551-0000021a”, “__CWIGNORE=”) in new stack
– Executing [s@macro-dial-one:36] Set(“SIP/551-0000021a”, “__KEEPCID=TRUE”) in new stack
– Executing [s@macro-dial-one:37] GotoIf(“SIP/551-0000021a”, “0?usegoto,1”) in new stack
– Executing [s@macro-dial-one:38] GotoIf(“SIP/551-0000021a”, “0?godial”) in new stack
– Executing [s@macro-dial-one:39] Set(“SIP/551-0000021a”, “CONNECTEDLINE(name,i)=Jane Robinson”) in new stack
– Executing [s@macro-dial-one:40] Set(“SIP/551-0000021a”, “CONNECTEDLINE(num)=501”) in new stack
– Executing [s@macro-dial-one:41] Set(“SIP/551-0000021a”, “D_OPTIONS=trI”) in new stack
– Executing [s@macro-dial-one: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 [s@macro-dial-one:43] ExecIf(“SIP/551-0000021a”, “0?Set(DIALSTATUS=)”) in new stack
– Executing [s@macro-dial-one:44] GosubIf(“SIP/551-0000021a”, “0?s-CHANUNAVAIL,1()”) in new stack
– Executing [s@macro-dial-one:45] MacroExit(“SIP/551-0000021a”, “”) in new stack
– Executing [s@macro-exten-vm:15] Set(“SIP/551-0000021a”, “SV_DIALSTATUS=CHANUNAVAIL”) in new stack
– Executing [s@macro-exten-vm:16] GosubIf(“SIP/551-0000021a”, “0?docfu,1()”) in new stack
– Executing [s@macro-exten-vm:17] GosubIf(“SIP/551-0000021a”, “0?docfb,1()”) in new stack
– Executing [s@macro-exten-vm:18] Set(“SIP/551-0000021a”, “DIALSTATUS=CHANUNAVAIL”) in new stack
– Executing [s@macro-exten-vm:19] ExecIf(“SIP/551-0000021a”, “0?MacroExit()”) in new stack
– Executing [s@macro-exten-vm:20] GotoIf(“SIP/551-0000021a”, “0?s-CHANUNAVAIL,1”) in new stack
– Executing [s@macro-exten-vm:21] Macro(“SIP/551-0000021a”, “vm,501,CHANUNAVAIL,”) in new stack
– Executing [s@macro-vm:1] Macro(“SIP/551-0000021a”, “user-callerid,SKIPTTL”) in new stack
– Executing [s@macro-user-callerid:1] Set(“SIP/551-0000021a”, “AMPUSER=551”) in new stack
– Executing [s@macro-user-callerid:2] GotoIf(“SIP/551-0000021a”, “10?report”) in new stack
– Goto (macro-user-callerid,s,13)
– Executing [s@macro-user-callerid:13] GotoIf(“SIP/551-0000021a”, “1?continue”) in new stack
– Goto (macro-user-callerid,s,26)
– Executing [s@macro-user-callerid:26] Set(“SIP/551-0000021a”, “CALLERID(number)=551”) in new stack
– Executing [s@macro-user-callerid:27] Set(“SIP/551-0000021a”, “CALLERID(name)=Aaron Home”) in new stack
– Executing [s@macro-user-callerid:28] Set(“SIP/551-0000021a”, “CHANNEL(language)=en”) in new stack
– Executing [s@macro-vm:2] Set(“SIP/551-0000021a”, “VMGAIN=”"") in new stack
– Executing [s@macro-vm:3] Macro(“SIP/551-0000021a”, “blkvm-check,”) in new stack
– Executing [s@macro-blkvm-check:1] Set(“SIP/551-0000021a”, “GOSUB_RETVAL=”) in new stack
– Executing [s@macro-blkvm-check:2] ExecIf(“SIP/551-0000021a”, “0?Set(GOSUB_RETVAL=TRUE)”) in new stack
– Executing [s@macro-blkvm-check:3] MacroExit(“SIP/551-0000021a”, “”) in new stack
– Executing [s@macro-vm:4] GotoIf(“SIP/551-0000021a”, “1?vmx,1”) in new stack
– Goto (macro-vm,vmx,1)
– Executing [vmx@macro-vm:1] Set(“SIP/551-0000021a”, “MEXTEN=501”) in new stack
– Executing [vmx@macro-vm:2] Set(“SIP/551-0000021a”, “MMODE=CHANUNAVAIL”) in new stack
– Executing [vmx@macro-vm:3] Set(“SIP/551-0000021a”, “RETVM=”) in new stack
– Executing [vmx@macro-vm:4] Set(“SIP/551-0000021a”, “MODE=unavail”) in new stack
– Executing [vmx@macro-vm:5] GotoIf(“SIP/551-0000021a”, “1?chknomsg”) in new stack
– Goto (macro-vm,vmx,8)
– Executing [vmx@macro-vm:8] GotoIf(“SIP/551-0000021a”, “0?s-CHANUNAVAIL,1”) in new stack
– Executing [vmx@macro-vm:9] GotoIf(“SIP/551-0000021a”, “1?notdirect”) in new stack
– Goto (macro-vm,vmx,11)
– Executing [vmx@macro-vm:11] NoOp(“SIP/551-0000021a”, “Checking if ext 501 is enabled: “) in new stack
– Executing [vmx@macro-vm:12] GotoIf(“SIP/551-0000021a”, “1?s-CHANUNAVAIL,1”) in new stack
– Goto (macro-vm,s-CHANUNAVAIL,1)
– Executing [s-CHANUNAVAIL@macro-vm:1] Macro(“SIP/551-0000021a”, “get-vmcontext,501”) in new stack
– Executing [s@macro-get-vmcontext:1] Set(“SIP/551-0000021a”, “VMCONTEXT=default”) in new stack
– Executing [s@macro-get-vmcontext:2] GotoIf(“SIP/551-0000021a”, “0?200:300”) in new stack
– Goto (macro-get-vmcontext,s,300)
– Executing [s@macro-get-vmcontext:300] NoOp(“SIP/551-0000021a”, “”) in new stack
– Executing [s-CHANUNAVAIL@macro-vm:2] VoiceMail(“SIP/551-0000021a”, “501@default,u”””) in new stack