1) Как можно сделать визуальный обзвон абонентов в реале или по рефрешу 3-5 сек, например ввиде
цветных кнопок как на FOP, чтоб когда звоним абоненту кнопка -красная, абонент ответил, - зеленая и т.д.
2) Как передать переменную $DIALSTATUS из диалплана в AGI PHP скрипт и извлеч, обработать. Если можно примером
например записать состояние в файл. Видел примеры, но полного и понятного нет...
Зараннее огромное спасибо!
_______________________________
#!/usr/local/bin/php
$f=fopen('file','w');
fwrite($f,$ARGV[1]);
fclose($f);
_______________________________
Added after 1 hours 2 minutes:
НЕ РАБОТАЕТ
Делаю так:
1) Звоню call файлом:
| Код: |
| Channel: SIP/401 MaxRetries: 1 RetryTime: 60 WaitTime: 30 Context: office Extension: 400 |
2) В extensions.conf
| Код: |
| [office] exten => s,1,Dial(Sip/400) exten => s,2,AGI(proba.php|$DIALSTATUS) exten => h,1,DeadAGI(proba.php|$DIALSTATUS) |
3) В proba.php:
| Код: |
| #!/usr/bin/php -q |
=========================================
Но файл создается пустой, как не кручу.....
Если пишу вместо $ARGV[1] - $_SERVER['argv'][1] то в файле возвращает не значение, а $DIALSTATUS...
Что я делаю не так...???? Ткните носом
exten => s,1,Dial(Sip/400)
exten => s,2,NoOp(DIALSTATUS--$DIALSTATUS)
exten => s,3,AGI(proba.php|$DIALSTATUS)
exten => h,1,DeadAGI(proba.php|$DIALSTATUS)
Что показывает в консоли при выполнении?
В сип-конф: qualify=yes.
| Код: |
| asterisk1*CLI> -- Attempting call on SIP/401 for 400@office:1 (Retry 1) == Starting SIP/401-716f at office,400,1 failed so falling back to exten 's' -- Executing Dial("SIP/401-716f", "Sip/400") in new stack -- Called 400 -- SIP/400-0e4b is ringing -- SIP/400-0e4b answered SIP/401-716f -- Attempting native bridge of SIP/401-716f and SIP/400-0e4b -- Executing DeadAGI("SIP/401-716f", "proba.php|$DIALSTATUS") in new stack -- Launched AGI Script /var/lib/asterisk/agi-bin/proba.php -- AGI Script proba.php completed, returning 0 |
=======================================================
Странно но выполняется только DeadAGI, почему-то... Но файл пустой
Added after 20 minutes:
УРА!!!!!!!!!
Чтоб заработало пришлось сделать следующее:
| Код: | |||||
| #!/usr/bin/php -q | |||||
я ето делаю вот так
| |||||
| Ой, спасибо, а можно подробнее для новичка...? Я получаю только два состояния либо STATUS=0 либо 1. Это верно или я, что-то не понял....???? В phpagi.php есть замечательная функция:
Мне надо именно с этой функцией разобраться | |||||
| Может быть кто-нибудь сталкивался с подобной проблемой, а то я никак не могу настроить нормальную связь между астериском 1.4.2 и офисной АТС Panasonic с 16-канальной VoIP-платой KX-TDA0490, которая работает только по Н323. Изначально хотел использовать родной h323. Но при звонках с PBX на * проблема - абонент астерискана своем телефоне слышит звонок, поднимает трубку, и тут же связь разрывается - идут короткие гудки. Что ни делал - ничего не помогло. Faststart, h245Tunneling менял, бесполезно. В дебаге * выдает: == Everyone is busy/congested at this time (1:0/0/1) -- ClearCall: Request to clear call with token ip$217.168.ххх.ххх:1078/6, cause 23 -- Sending RELEASE COMPLETE -- ClearCall: Request to clear call with token ip$217.168.ххх.ххх:1078/6, cause 7 Посмотрел Standard Q.931 Disconnect Cause Codes, cause 7 соответствует "Call awarded and being delivered in an Established channel. Indicates that the user has been awarded the incoming call, and that the incoming call is being connected to a channel already established to that user for similar calls (e.g. packet-mode virtual calls)." Странная причина... не пойму как так может быть и с чем это связано. А расшифровки причины 23 я вообще не смог найти vendors have implemented a larger number of cause codes, but they do not map to the specification and Quintum does not support them." Вобщем, пока эту проблему решить не удалось. Тогда попробовал ooh323 - заработало сразу, но возникла другая неприятная вещь - все входящие звонки лезут в дефолтовый контекст, чтобы они лезли в нужный контекст, созданный для определенного пользователя, нужно от звонящего передавать параметр H323ID, но плата KX-TDA0490 такого, как я понял, не может. По крайней мере в ее настройках ничего даже близко похожего нет. По IP адресу авторизоваться тоже не получилось, видимо эта штука еще очень плохо реализована в ooh323, так как разработчики на своей странице очень уклончиво отвечают на вопросы по поводу авторизации по IP, а не по H323ID, и прямого нормального ответа дать не могут. Бедным юзерам приходится писать свои драйвера на С. Я пока не такой гуру, чтоб подобными вещами заниматься, да и некогда | |||||