| 3980 | | $exten = 's-NOANSWER'; |
|---|
| 3981 | | $ext->add($mcontext,$exten,'', new ext_macro('vm','${SCREEN_EXTEN},BUSY,${IVR_RETVM}')); |
|---|
| 3982 | | $ext->add($mcontext,$exten,'', new ext_execif('$["${IVR_RETVM}"!="RETURN" | "${IVR_CONTEXT}"=""]','Hangup')); |
|---|
| 3983 | | $ext->add($mcontext,$exten,'', new ext_return('')); |
|---|
| 3984 | | |
|---|
| 3985 | | /* |
|---|
| 3986 | | * There are reported bugs in Asterisk Blind Trasfers that result in Dial() returning and continuing |
|---|
| 3987 | | * execution with a status of ANSWER. So we hangup at this point |
|---|
| 3988 | | */ |
|---|
| 3989 | | $exten = 's-ANSWER'; |
|---|
| 3990 | | $ext->add($context, $exten, '', new ext_noop('Call successfully answered - Hanging up now')); |
|---|
| 3991 | | $ext->add($context, $exten, '', new ext_macro('hangupcall')); |
|---|
| 3992 | | |
|---|
| 3993 | | $exten = 's-TORTURE'; |
|---|
| 3994 | | $ext->add($mcontext,$exten,'', new ext_goto('1','musiconhold','app-blackhole')); |
|---|
| 3995 | | $ext->add($mcontext,$exten,'', new ext_macro('hangupcall')); |
|---|
| 3996 | | |
|---|
| 3997 | | $exten = 's-DONTCALL'; |
|---|
| 3998 | | $ext->add($mcontext,$exten,'', new ext_answer('')); |
|---|
| 3999 | | $ext->add($mcontext,$exten,'', new ext_wait('1')); |
|---|
| 4000 | | $ext->add($mcontext,$exten,'', new ext_zapateller('')); |
|---|
| 4001 | | $ext->add($mcontext,$exten,'', new ext_playback('ss-noservice')); |
|---|
| 4002 | | $ext->add($mcontext,$exten,'', new ext_macro('hangupcall')); |
|---|
| 4003 | | |
|---|
| 4004 | | /* |
|---|
| 4005 | | * If an endpoint is offline, app_dial returns with CHANUNAVAIL, we deal with this the same way |
|---|
| 4006 | | * as we do with NOANSWER |
|---|
| 4007 | | */ |
|---|
| 4008 | | $exten = 's-CHANUNAVAIL'; |
|---|
| 4009 | | $ext->add($mcontext,$exten,'', new ext_macro('vm','${SCREEN_EXTEN},BUSY,${IVR_RETVM}')); |
|---|
| 4010 | | $ext->add($mcontext,$exten,'', new ext_execif('$["${IVR_RETVM}"!="RETURN" | "${IVR_CONTEXT}"=""]','Hangup')); |
|---|
| 4011 | | $ext->add($mcontext,$exten,'', new ext_return('')); |
|---|
| 4012 | | |
|---|
| 4013 | | /* macro-dial-one */ |
|---|
| 4014 | | } |
|---|
| | 3980 | /* |
|---|
| | 3981 | * There are reported bugs in Asterisk Blind Trasfers that result in Dial() returning and continuing |
|---|
| | 3982 | * execution with a status of ANSWER. So we hangup at this point |
|---|
| | 3983 | */ |
|---|
| | 3984 | $exten = 's-ANSWER'; |
|---|
| | 3985 | $ext->add($context, $exten, '', new ext_noop('Call successfully answered - Hanging up now')); |
|---|
| | 3986 | $ext->add($context, $exten, '', new ext_macro('hangupcall')); |
|---|
| | 3987 | |
|---|
| | 3988 | $exten = 's-TORTURE'; |
|---|
| | 3989 | $ext->add($mcontext,$exten,'', new ext_goto('1','musiconhold','app-blackhole')); |
|---|
| | 3990 | $ext->add($mcontext,$exten,'', new ext_macro('hangupcall')); |
|---|
| | 3991 | |
|---|
| | 3992 | $exten = 's-DONTCALL'; |
|---|
| | 3993 | $ext->add($mcontext,$exten,'', new ext_answer('')); |
|---|
| | 3994 | $ext->add($mcontext,$exten,'', new ext_wait('1')); |
|---|
| | 3995 | $ext->add($mcontext,$exten,'', new ext_zapateller('')); |
|---|
| | 3996 | $ext->add($mcontext,$exten,'', new ext_playback('ss-noservice')); |
|---|
| | 3997 | $ext->add($mcontext,$exten,'', new ext_macro('hangupcall')); |
|---|
| | 3998 | |
|---|
| | 3999 | /* |
|---|
| | 4000 | * If an endpoint is offline, app_dial returns with CHANUNAVAIL, we deal with this the same way |
|---|
| | 4001 | * as we do with NOANSWER |
|---|
| | 4002 | */ |
|---|
| | 4003 | |
|---|
| | 4004 | foreach (array('s-CHANUNAVAIL', 's-NOANSWER', 's-BUSY') as $exten) { |
|---|
| | 4005 | $ext->add($mcontext,$exten,'', new ext_macro('vm','${SCREEN_EXTEN},BUSY,${IVR_RETVM}')); |
|---|
| | 4006 | $ext->add($mcontext,$exten,'', new ext_execif('$["${IVR_RETVM}"!="RETURN" | "${IVR_CONTEXT}"=""]','Hangup')); |
|---|
| | 4007 | $ext->add($mcontext,$exten,'', new ext_return('')); |
|---|
| | 4008 | } |
|---|
| | 4009 | /* macro-dial-one */ |
|---|
| | 4010 | } |
|---|