Еще с чтением поможете?) Я все равно не понимаю, откуда берутся эти 5 секунды.
Код: Выделить всё
[dialapp] 52. Noop() [pbx_config]
53. ExecIf($["${ivrreturn}" = "1"]?Set(D_OPTIONS=${D_OPTIONS}g)) [pbx_config]
[dial] 54. Dial(${DSTRING},${ARG1},${D_OPTIONS}b(func-apply-sipheaders^s^1)) [pbx_config]
55. ExecIf($["${DIALSTATUS}"="ANSWER" & "${CALLER_DEST}"!=""]?MacroExit()) [pbx_config]
56. ExecIf($["${DIALSTATUS_CW}"!=""]?Set(DIALSTATUS=${DIALSTATUS_CW})) [pbx_config]
57. GosubIf($[("${SCREEN}"!=""&("${DIALSTATUS}"="TORTURE"|"${DIALSTATUS}"="DONTCALL"))|"${DIALSTATUS}"="ANSWER"]?s-${DIALSTATUS},1()) [pbx_config]
58. MacroExit()
Код: Выделить всё
[func-apply-sipheaders]
include => func-apply-sipheaders-custom
exten => s,1,Noop(Applying SIP Headers to channel ${CHANNEL})
exten => s,n,Set(TECH=${CUT(CHANNEL,/,1)})
exten => s,n,Set(SIPHEADERKEYS=${HASHKEYS(SIPHEADERS)})
exten => s,n,While($["${SET(sipkey=${SHIFT(SIPHEADERKEYS)})}" != ""])
exten => s,n,Set(sipheader=${HASH(SIPHEADERS,${sipkey})})
exten => s,n,ExecIf($["${sipheader}" = "unset" & "${TECH}" = "SIP"]?SIPRemoveHeader(${sipkey}:))
exten => s,n,ExecIf($["${sipheader}" != "unset" & "${sipkey}" = "Alert-Info" & ${REGEX("^<[^>]*>" ${sipheader})} != 1 & ${REGEX("\;info=" ${sipheader})} != 1]?Set(sipheader=<http://127.0.0.1>\;info=${sipheader}))
exten => s,n,ExecIf($["${sipheader}" != "unset" & "${sipkey}" = "Alert-Info" & ${REGEX("^<[^>]*>" ${sipheader})} != 1]?Set(sipheader=<http://127.0.0.1>${sipheader}))
exten => s,n,ExecIf($["${TECH}" = "SIP" & "${sipheader}" != "unset"]?SIPAddHeader(${sipkey}:${sipheader}))
exten => s,n,EndWhile
exten => s,n,Return()
;--== end of [func-apply-sipheaders] ==--;
Если создать 2 группы, и в одну посадить 888 а в другую 666 и так же их зациклить, то такой проблемы нет