2011-11-02 2 views
2

내선에서 전화를받을 수 있습니까? SIP/1 또는 SIP/2 답변, 그것은 텍스트와 끊기를 재생하면 아무도 그것이 내가 전화 파일을 만들려고 다이얼 계속 대답하지 않지만 경우내선에서 전화 걸기

[read_text] 
    exten => s,1,Answer() 
    exten => s,n,Dial(SIP/1,G(99)) 
    exten => s,n,Dial(SIP/2,G(99)) 
    exten => s,n,Goto(1) 
    exten => s,100,System(echo '${text}' | /usr/bin/espeak --stdout |sox -t wav - -r 8000 /tmp/voice.wav) 
    exten => s,n,Playback(/tmp/voice) 
    exten => s,n,System(rm /tmp/voice.wav) 
    exten => s,n,Hangup() 

그래서 필요 내 확장은 다음과 같이이다 일부 채널을 설정하려면 로컬을 사용하려고했지만 실패했습니다. 또한 대기열이 있지만 호출 파일에서 대기열에 대한 호출을 시작할 수있는 방법을 찾을 수 없습니다. 나는 별표가 생겼다.

답변

2

귀하의 시도는 다이얼 플랜에서 상당히 엉망이 될 수 있습니다. 이 라인을 따라 뭔가를보십시오 : 시작하기 전에

[call_read_text] 
exten => s,1,Dial(SIP/1,gG(read_text,s,1)) 
exten => s,n,Dial(SIP/2,gG(read_text,s,1)) 
exten => s,n,Goto(1) 

[read_text] 
exten => s,1,System(echo '${text}' | /usr/bin/espeak --stdout |sox -t wav - -r 8000 /tmp/voice.wav) 
exten => s,n,Playback(/tmp/voice) 
exten => s,n,System(rm /tmp/voice.wav) 
exten => s,n,Hangup() 
  • 망가 통화에 응답!
  • g 호출이 응답하지 않으면 dialplan을 계속하고, 전화 통화가 응답되는 경우
  • G()read_text,s,1으로 이동합니다 다음 확장을, 그리고 당신은 모든이를 밀어서 시동을 할 수있는 사냥
  • 종료됩니다 첫 번째 컨텍스트와 두 번째 컨텍스트를 연결하여 파일을 호출합니다 (응답시 발생합니다). 이 라인을 따라

뭔가 : 여기 호출 파일에

Channel: Local/[email protected]_read_text 
Context: read_text 
Extension: s 
Priority: 1 

더 : http://www.voip-info.org/wiki/view/Asterisk+auto-dial+out. 호출 파일에서 Set: foo=bar을 사용하여 ${text}