0
다음과 같이 다이얼 플랜을 설계했습니다. 모든 것이 잘 작동하지만 타임 아웃 확장 기능이 작동하지 않습니다.
autofallthrough=no
은 extension.conf 파일에 주석 처리됩니다.시간 초과 확장이 별표 11에서 작동하지 않습니다.
subContinueOrNot은 'study4'라는 컨텍스트에서 호출 된 서브 루틴입니다. dialplan은 'notCallPress2'파일 재생 후 10 초 동안 대기 한 다음 빈 값을 반환합니다. 유효하지 않은 확장 프로그램이 정상적으로 작동합니다. 그러나 확장 시간 초과가되지는 않습니다.
[subContinueOrNot]
exten=>s,1,Playback(study4/okCallPress1)
exten=>s,n,Playback(study4/notCallPress2)
exten=>s,n,Set(PARAM=)
exten=>s,n,WaitExten(10)
exten=>s,n(ret),Return(${PARAM})
exten=>1,1,Set(PARAM=1)
exten=>1,n,Goto(s,ret)
exten=>2,1,Set(PARAM=2)
exten=>2,n,Goto(s,ret)
exten=>i,1,GoSub(subInvalid,s,1(${INVALID_EXTEN}))
exten=>i,n,Set(PARAM=${GOSUB_RETVAL})
exten=>i,n,Goto(s,ret)
exten=>t,1,GoSub(subTimeout,s,1())
exten=>t,n,Set(PARAM=timeOut)
exten=>t,n,Goto(s,ret)
exten=>h,1,Goto(study4,h,1,)
다음은 별표 콘솔의 출력입니다.
-- <SIP/101-0000000f> Playing 'study4/weAsk.slin' (language 'en')
-- Executing [[email protected]:10] Gosub("SIP/101-0000000f", "subContinueOrNot,s,1()") in new stack
-- Executing [[email protected]:1] Playback("SIP/101-0000000f", "study4/okCallPress1") in new stack
-- <SIP/101-0000000f> Playing 'study4/okCallPress1.slin' (language 'en')
-- Executing [[email protected]:2] Playback("SIP/101-0000000f", "study4/notCallPress2") in new stack
-- <SIP/101-0000000f> Playing 'study4/notCallPress2.slin' (language 'en')
-- Executing [[email protected]:3] Set("SIP/101-0000000f", "PARAM=") in new stack
-- Executing [[email protected]:4] WaitExten("SIP/101-0000000f", "10") in new stack
-- Timeout on SIP/101-0000000f, continuing...
-- Executing [[email protected]:5] Return("SIP/101-0000000f", "") in new stack
-- Executing [[email protected]:11] Set("SIP/101-0000000f", "RV=") in new stack
-- Executing [[email protected]:12] GotoIf("SIP/101-0000000f", "0?s,cont1:s,stop1") in new stack
-- Goto (study4,s,13)
-- Executing [[email protected]:13] Playback("SIP/101-0000000f", "study4/callAgain2") in new stack
-- <SIP/101-0000000f> Playing 'study4/callAgain2.slin' (language 'en')
-- Executing [[email protected]:14] Goto("SIP/101-0000000f", "s,hang") in new stack
-- Goto (study4,s,57)
-- Executing [[email protected]:57] Hangup("SIP/101-0000000f", "") in new stack
== Spawn extension (study4, s, 57) exited non-zero on 'SIP/101-0000000f'
-- Executing [[email protected]:1] Verbose("SIP/101-0000000f", "2,"Hanging Up now"") in new stack
== "Hanging Up now"