2014-06-20 2 views
0

저는 PHPAGI를 사용하고 있으며 약간의 문제가 있습니다. 난 단지 몇 줄의 코드로 문제를 단순화했습니다. 첫째, 내 상황 :모든 명령에서 phpagi 고정/중단/차단

[script] 
exten=>s,1,AGI(asterisk_callback.php) 

그리고 (Laravel 사용 4) 내 실제 코드는 : 나는 .call 파일을 삭제할 때

Log::info('[callback script] Creating PHPAGI..'); 
$agi = new AGI(); 
Log::info('[callback script] Trying noop..'); 
$agi->noop('Can you see me?'); 
Log::info('[callback script] Success!'); 

, 내가 전화를받을 않습니다. 대답을하면 내 기록은 처음 두 메시지를받습니다. 그런 다음 $ agi-> noop()에 멈 춥니 다. 내 전화 통화가 지속되고 스크립트를 끊고 "성공"을 기록합니다. 나는 전화를 끊으 때까지

Connected to Asterisk 11.7.0~dfsg-1ubuntu1 currently running on playground (pid = 26298) 
     > Channel SIP/vitel-outbound-00000000 was answered 
    -- Executing [[email protected]_script:1] AGI("SIP/vitel-outbound-00000000", "asterisk_callback.php,53,SIP/vitel-outbound-00000000") in new stack 
    -- Launched AGI Script /usr/share/asterisk/agi-bin/asterisk_callback.php 
     > 0x7f84dc0181d0 -- Probation passed - setting RTP source address to 64.2.142.190:15106 

... 그것은 여기 정지 :

별표는 다음과 같은 로그가 있습니다. 그렇다면 :

-- <SIP/vitel-outbound-00000000>AGI Script asterisk_callback.php completed, returning 4 
    == Spawn extension (callback_script, s, 1) exited non-zero on 'SIP/vitel-outbound-00000000' 
[Jun 20 12:33:44] NOTICE[26511]: pbx_spool.c:402 attempt_thread: Call completed to SIP/[email protected]/n 

내가 phpagi에 문제가 있습니까?

+0

업데이트 : 문제를 AGI 클래스 생성자로 추적했습니다. 그것은 fgets()에서 멈추고 있습니다. 표준 입력이 무언가를 받기를 기다리고있는 것 같습니다. 킥킥 웃음을 위해 나는 그것을 해설했다. 그러나 아직도 운이 없다. 이제 스크립트는 $ agi = new AGI()를 종료합니다. – Anthony

답변

0

발견. 저는 AGI()가 Laravel을 숙련 된 명령으로 실행하는 스크립트를 호출하는 중입니다. 문제는 표준 입출력이 스크립트에서 exec() 명령으로 라우팅되지 않는다는 것입니다. 나는 다른 포스트에서 다른 방식으로 질문 할 것이다.