[appel-sortant]
exten => _X.,1,Set(GLOBAL(LOOP)=0)
exten => _X.,n,ExecIf($[ !${DB_EXISTS(call/tries)} ]?Set(DB(call/tries)=0))
exten => _X.,n,Set(DB(call/tries)=${MATH(${DB(call/tries)}+1,i)})
exten => _X.,n,Set(GLOBAL(MAX)=3)
exten => _X.,n,Set(GLOBAL(ACCEPT_INTER)=0)
exten => _X.,n,Set(GLOBAL(NEXT)=0)
exten => _X.,n,Set(GLOBAL(CURRENT)=${EXTEN})
exten => _X.,n,NoOp(${CHANNEL})
exten => _X.,n,AGI(/var/lib/asterisk/agi-bin/getNext.php,${CURRENT})
exten => _X.,n,NoOp(Next = ${NEXT})
exten => _X.,n,Set(GLOBAL(NEXT)=${NEXT})
exten => _X.,n,Dial(SIP/${EXTEN}@forfait-ovh,20,gtr)
;exten => _X.,n,Dial(SIP/${EXTEN},10,gtr)
exten => s,1,Playback(silence/1)
exten => s,n,AMD()
exten => s,n,NoOp(AMDSTATUS = ${AMDSTATUS})
exten => s,n,GotoIf($[${AMDSTATUS}=MACHINE]?appel-sortant-mach,s,1:appel-sortant-humn,s,1)
; Si l’appel echoue ! obliger de refaire le AGI
exten => failed,1,NoOp(appel-sortant failed)
exten => failed,n,GotoIf($[“${REASON}” != “3”]?db-del-next,500,1)
exten => failed,n,NoOp(0 = failed(not busy or congested), 1 = Hung up, 3 = ring timeout, 5 = busy, 8 = congestion ${REASON})
exten => failed,n,GotoIf($[ ${DB(call/tries)} > 2 ]?db-del-next,500,1)
exten => failed,n,Hangup[/quote]
If i write a exten => h,1,NoOp(foobar), there is nothing, the program hangup and do not pass through the h extension.
Here is my CLI result
[quote] – Executing [09XXXXXXXX@appel-sortant:10] NoOp(“Local/09XXXXXXXX@appel-sortant-40f9;2”, “Next = 0”) in new stack
– Executing [09XXXXXXXX@appel-sortant:11] Set(“Local/09XXXXXXXX@appel-sortant-40f9;2”, “GLOBAL(NEXT)=0”) in new stack
== Setting global variable ‘NEXT’ to ‘0’
– Executing [09XXXXXXXX@appel-sortant:12] Dial(“Local/09XXXXXXXX@appel-sortant-40f9;2”, “SIP/09XXXXXXXX@forfait-ovh,20,gtr”) in new stack
== Using SIP RTP CoS mark 5
– Called 09XXXXXXXX@forfait-ovh
– SIP/forfait-ovh-00000000 is ringing
– SIP/forfait-ovh-00000000 is making progress passing it to Local/09XXXXXXXX@appel-sortant-40f9;2
– SIP/forfait-ovh-00000000 answered Local/09XXXXXXXX@appel-sortant-40f9;2
> Channel Local/09XXXXXXXX@appel-sortant-40f9;1 was answered.
– Executing [s@appel-sortant:1] Playback(“Local/09XXXXXXXX@appel-sortant-40f9;1”, “silence/1”) in new stack
– <Local/09XXXXXXXX@appel-sortant-40f9;1> Playing ‘silence/1.gsm’ (language ‘en’)
== Spawn extension (appel-sortant, 09XXXXXXXX, 12) exited non-zero on ‘Local/09XXXXXXXX@appel-sortant-40f9;2’
– Executing [s@appel-sortant:2] AMD(“SIP/forfait-ovh-00000000”, “”) in new stack
– AMD: SIP/forfait-ovh-00000000 09XXXXXXXX (null) (Fmt: 64)
– AMD: initialSilence [2500] greeting [1500] afterGreetingSilence [800] totalAnalysisTime [5000] minimumWordLength [100] betweenWordsSilence [50] maximumNumberOfWords [3] silenceThreshold [256] maximumWordLength [5000]
– AMD: Channel [SIP/forfait-ovh-00000000]. Changed state to STATE_IN_SILENCE
– AMD: Channel [SIP/forfait-ovh-00000000]. HANGUP
[Aug 31 09:19:35] NOTICE[32712]: pbx_spool.c:349 attempt_thread: Call completed to Local/09XXXXXXXX@appel-sortant