2013-03-07 5 views
2

별표 AGI를 사용하여 셸 스크립트를 실행하려고합니다.AGI 스크립트는 오류없이 실행되지만 결과는 생성되지 않습니다.

#!/bin/bash 
java /home/sphata001/Downloads/EAGI/JEAGIClient $$ 

을 다음과 같이 내가 여기에 언급 된 튜토리얼 http://www.shiffman.net/p5/asterisk/

내 extensions.conf이

[default] 
include => clicall 

[clicall] 
exten => _X,1,Goto(s,1); 
exten => _X.,1,Goto(s,1); 
exten => s,1,Answer(); 
exten => s,n,EAGI(runEAGI.sh); 

내가 (runEAGI.sh)를 실행하려고 스크립트는 다음과 같다을 사용하고있다 권한은 755로 설정되고 스크립트는 /var/lib/asterisk/agi-bin/에 배치됩니다. Java 파일 (JEAGIClient)도 미리 컴파일되었습니다. 수동으로 스크립트를 실행할 때 잘 실행되고 서버에 연결됩니다. 그러나 SIP 클라이언트에서 전화를 걸면 스크립트는 별표 콘솔에 따라 실행되지만 아무런 결과도 보이지 않습니다. 나는 콘솔

== Using SIP RTP CoS mark 5 
    -- Executing [[email protected]:1] Goto("SIP/1001-00000027", "s,1") in new stack 
    -- Goto (default,s,1) 
    -- Executing [[email protected]:1] Answer("SIP/1001-00000027", "") in new stack 
    -- Executing [[email protected]:2] EAGI("SIP/1001-00000027", "runEAGI.sh") in new stack 
    -- Launched AGI Script /var/lib/asterisk/agi-bin/runEAGI.sh 
    -- <SIP/1001-00000027>AGI Script runEAGI.sh completed, returning 0 
    -- Auto fallthrough, channel 'SIP/1001-00000027' status is 'UNKNOWN' 

모든 솔루션에 다음과 같은 출력을 얻을?

감사합니다. 당신은 자바에 대한 전체 경로를 지정해야합니다 - 스크립트와이 필요로하는 자원이 별표 사용자가 소유하고, SELinux가 대부분의 likly 제대로

답변

2

를 실행 스크립트를 방지되지 않는다는 것을

+0

고마워요. 완전한 java 경로를 추가하면 도움이되었습니다. 그것은 지금 매력처럼 작동하고 있습니다. 다시 한번 고마워요. – user2143272

2

확인합니다.

힌트 : 별표 AGI를 디버깅 할 때 간단한 해결책은 별표를 중지하고 콘솔에 연결하기 시작하면 모든 스크립트 오류가 표시됩니다.

asterisk -rx "core stop now" 
asterisk -vvvvgc 

또한 별표 콘솔에서 AGI 디버깅을 사용 usfull 될 수 있습니다

agi set debug on