####### MY EXTENSIONS.CONF [general] static=yes writeprotect=yes autofallthrough=no clearglobalvars=no priorityjumping=no [globals] [macro-beginout] exten => s,1,UserEvent(CALL|${CDR(accountcode)}=${CALLERID(dnid)}=${CALLERID(number)}=${STRFTIME(|GMT+1|%Y%m%d-%H%M%S)}=${UNIQUEID}) [macro-endofout] exten => s,1,UserEvent(CDR|${CDR(accountcode)}=${CALLERID(dnid)}=${CALLERID(number)}=${CDR(answer)}=${STRFTIME(|GMT+1|%Y%m%d-%H%M%S)}=${ROUTETAG}${UNIQUEID}) [default] exten => s,1,Hangup() [illegal] exten => s,1,Hangup() [localtest_in] exten => _2ZZXXXX9NXX#.,1,Macro(beginout) exten => _2ZZXXXX9NXX#.,n,Goto(localtest,${EXTEN:12},1) [localtest] exten => _X.,1,Set(CALLERID(number)=2227654902) exten => _X.,n,Goto(card_in,${EXTEN},1) exten => _X.,n,Hangup exten => h,1,Macro(endofout) [card_in] exten => _X.,1,Set(TEAS_TARGET=${EXTEN}) ;exten => _X.,n,Set(LANGUAGE()=fr) exten => _X.,n,Answer ;exten => _X.,n,SayDigits(${EXTEN}) exten => _X.,n,Read(TEAS_PIN) exten => _X.,n,NoOp(${TEAS_PIN}) exten => _X.,n,Hangup exten => i,1,NoOp(err INVALID) exten => h,1,NoOp(err HANGUP) exten => t,1,NoOp(err TIMEOUT) ####### MY SIP.CONF [general] context=default bindport=5060 bindaddr=0.0.0.0 ; IP address to bind to (0.0.0.0 binds to all) srvlookup=yes ;domain=mydomain.tld ; Set default domain for this host ; If configured, Asterisk will only allow ; INVITE and REFER to non-local domains ; Use "sip show domains" to list local domains ;domain=mydomain.tld,mydomain-incoming ; Add domain and configure incoming context ; for external calls to this domain ;domain=1.2.3.4 ; Add IP address as local domain ; You can have several "domain" settings ;allowexternalinvites=no ; Disable INVITE and REFER to non-local domains ; Default is yes ;autodomain=yes ; Turn this on to have Asterisk add local host ; name and local IP to domain list. ;pedantic=yes ; Enable slow, pedantic checking for Pingtel ; and multiline formatted headers for strict ; SIP compatibility (defaults to "no") disallow=all allow=alaw rtptimeout=60 ; Terminate call if 60 seconds of no RTP activity ;externip = 193.251.27.193 ; Address that we're going to put in outbound SIP messages ; if we're behind a NAT localnet=192.168.0.0/255.255.0.0; All RFC 1918 addresses are local networks [authentication] [2227654902] dtmfmode = info username = 2227654902 accountcode = aclocal secret = nat = no qualify = 2000 context = localtest_in call-limit = 2 fromuser = 2227654902 login = 2227654902 host = dynamic type = friend callerid = 2227654902 canreinvite = no ####### MY CLI OUTPUT OF TWO CALLS, NOTE THAT THE FIRST TIME IT GETS A FEW DIGITS WHILE IN THE SECOND NONE ####### EVEN IF I _DO_ ACTUALLY TYPE THE SAME THING ON MY PHONE. -- Executing [22276549888#8888888888@localtest_in:1] Macro("SIP/2227654902-b7008cc0", "beginout") in new stack -- Executing [s@macro-beginout:1] UserEvent("SIP/2227654902-b7008cc0", "CALL|aclocal=22276549888#8888888888=2227654902=20071016-173037=1192548637.21") in new stack -- Executing [22276549888#8888888888@localtest_in:2] Goto("SIP/2227654902-b7008cc0", "localtest|8888888888|1") in new stack -- Goto (localtest,8888888888,1) -- Executing [8888888888@localtest:1] Set("SIP/2227654902-b7008cc0", "CALLERID(number)=2227654902") in new stack -- Executing [8888888888@localtest:2] Goto("SIP/2227654902-b7008cc0", "card_in|8888888888|1") in new stack -- Goto (card_in,8888888888,1) -- Executing [8888888888@card_in:1] Set("SIP/2227654902-b7008cc0", "TEAS_TARGET=8888888888") in new stack -- Executing [8888888888@card_in:2] Answer("SIP/2227654902-b7008cc0", "") in new stack -- Executing [8888888888@card_in:3] Read("SIP/2227654902-b7008cc0", "TEAS_PIN") in new stack -- User entered '123456' -- Executing [8888888888@card_in:4] NoOp("SIP/2227654902-b7008cc0", "123456") in new stack -- Executing [8888888888@card_in:5] Hangup("SIP/2227654902-b7008cc0", "") in new stack == Spawn extension (card_in, 8888888888, 5) exited non-zero on 'SIP/2227654902-b7008cc0' -- Executing [h@card_in:1] NoOp("SIP/2227654902-b7008cc0", "err HANGUP") in new stack -- Executing [22276549888#55555558@localtest_in:1] Macro("SIP/2227654902-b7008cc0", "beginout") in new stack -- Executing [s@macro-beginout:1] UserEvent("SIP/2227654902-b7008cc0", "CALL|aclocal=22276549888#55555558=2227654902=20071016-173130=1192548690.22") in new stack -- Executing [22276549888#55555558@localtest_in:2] Goto("SIP/2227654902-b7008cc0", "localtest|55555558|1") in new stack -- Goto (localtest,55555558,1) -- Executing [55555558@localtest:1] Set("SIP/2227654902-b7008cc0", "CALLERID(number)=2227654902") in new stack -- Executing [55555558@localtest:2] Goto("SIP/2227654902-b7008cc0", "card_in|55555558|1") in new stack -- Goto (card_in,55555558,1) -- Executing [55555558@card_in:1] Set("SIP/2227654902-b7008cc0", "TEAS_TARGET=55555558") in new stack -- Executing [55555558@card_in:2] Answer("SIP/2227654902-b7008cc0", "") in new stack -- Executing [55555558@card_in:3] Read("SIP/2227654902-b7008cc0", "TEAS_PIN") in new stack -- User entered nothing. -- Executing [55555558@card_in:4] NoOp("SIP/2227654902-b7008cc0", "") in new stack -- Executing [55555558@card_in:5] Hangup("SIP/2227654902-b7008cc0", "") in new stack == Spawn extension (card_in, 55555558, 5) exited non-zero on 'SIP/2227654902-b7008cc0' -- Executing [h@card_in:1] NoOp("SIP/2227654902-b7008cc0", "err HANGUP") in new stack