PBX 인플레가있는 별표 서버가 두 개 있고 CentOS에 별표가 하나만 설치된 별표 서버가 있습니다. PBXINFLASH에서 Asterisk 11.9.0으로 마이그레이션해야합니다. 플래시의 PbX가 별표 10.12.1을 실행 중입니다. 별표 (Asterisk) 10.12.1에서 완벽하게 작동하는 다이얼 플랜이 있지만 별표 11.9.0이 표시된 새 상자에는 DTMF 또는 사용자 키 입력이 다이얼 플랜의 한 부분으로 작동하지 않습니다. 나는 dtmf에 대한 디버그를 시도했는데 두 서버 모두 디버그에서 차이가 없다. 또한 이상하다. 이것은 하나의 컴퓨터에서 다이얼 플랜이 잘 작동하고 다른 작업은 부분적으로 작동한다. 다이얼 플랜은 발신자가 진행하기 위해 1을 누르고 수신자가 전화를 받고 시스템이 1을 눌러 통화 또는 전화 끊기를 수락하도록 요청하는 전화 화면입니다. 별표 11.9.0 발신자 프레스 1 입력은 정상적으로 작동하지만 두 번째 사용자/수신자 프레스 1은하지 않습니다. 전혀.별표 11.9 read() 함수 및 dtmf 문제
내 dtmf를 테스트하기 위해 SIP 계정을 사용하고 있습니다. 나는 한 모금 계좌를 바꿔주고 똑같은 문제를 테스트하기 위해 소프트 폰을 마셨다. 다음은 동일한 매크로 반 작업의 두 부분과 사용자 입력을받지 않는 후반입니다.
전반부가 작동하고 사용자 입력을받습니다.
exten => _X.,n,GotoIf($[${GROUP_COUNT(${CallerNum})} > 1]?Exceeded) ;Exceeded?
exten => _X.,n,Set(HngupCount=1);Hangup
exten => _X.,n,Flite(Please press 1 to speak with ${destUID})
exten => _X.,n,Read(yesno,sip-silence,1,,2,5)
exten => _X.,n,GotoIf($[${yesno} = 1]?continue:hangup)
작업 또는 사용자의 입력을 복용하지
하반기 : -
하반기[macro-Dial2]
exten => s,1,Wait(1);ResetCDR
exten => s,n,Set(_StartTime=${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)})
exten => s,n,ResetCDR
exten => s,n,Set(_RCount=1)
exten => s,n(Repeat),Flite(Hi there)
exten => s,n,Flite(${ARG1} wants to speak to you. Please press 1 to accept the call. 2 to forward the call to voicemail or 3 to reject the call.)
exten => s,n,Flite(we are connecting you)
exten => s,n,Read(ACCEPT,sip-silence,1,,1,5)
exten => s,n,Set(_RCount=$[${RCount} + 1])
exten => s,n,NoOp(Counter is ${RCount} -- the user selected: ${ACCEPT});
exten => s,n,Gotoif($[${ACCEPT} = 1]?accept:vm) ;Accept the call
exten => s,n(vm),Gotoif($[${ACCEPT} = 2]?voicemail:rej) ;forward the call to dummy voicemail (Actually just record the callers message)
exten => s,n(rej),Gotoif($[${ACCEPT} = 3]?reject) ;Reject the call and hangup
exten => s,n,Gotoif($[${RCount} > 2]?reject:Repeat) ; If no key pressed, just hangup the call and inform the User.
exten => s,n(accept),set(SecLeg=${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)})
는 다음 줄 때까지 잘 작동 : 당신의 dialplan을 사용자 입력에
exten => s,n,Flite(${ARG1} wants to speak to you. Please press 1 to accept the call. 2 to forward the call to voicemail or 3 to reject the call.)
exten => s,n,Flite(we are connecting you)
당신이 실패 호출의 AST CLI에서 텍스트를 게시하시기 바랍니다 편집 할 수 있습니다 logger.conf이 필요하십니까? 여기서 AST가 당신을 도울 수 있으려면 "AST가 보는 것"을 볼 필요가 있습니다. – MichelV69
[0K SIP/2.0 200 OK 비아 : SIP/2.0/UDP 173.230.137.73:5060;branch=z9hG4bK3d82f078;rport=5060 연락처 = 받는 사람 : ; tag = 6b7c1722 보낸 사람 : , 태그 = as292ce1cc 전화-ID : [email protected] : 5060 CSEQ : (103) BYE 사용자 에이전트 : Zoiper이 콘텐츠 길이 rev.11137 : 0 –
user1492502
설정하세요 "자세한 "를 9로 설정하여 다이얼 플랜 처리가 표시되도록하고"R ead() "문장. SIP-INFO로만 DTMF를 전송하지 않는 한 SIP 패킷 디버깅은 가치가 없습니다. – MichelV69