ВидеоКонф(ВКС)  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

PHP OrginateResponse

Раздел для разработчиков для обсуждения программных и аппаратных продуктов и их реализации.

Модераторы: april22, Zavr2008

PHP OrginateResponse

Сообщение Scorpion15 » 02 ноя 2015, 16:30

Добрый день!
Написан скрипт для звонка, все хорошо работает:
Код: выделить все
$actionid=md5($sip.$cl.$ext.time());
fwrite("Action: Originate\r\n");
        fwrite("Channel: SIP/".$sip."\r\n");
        fwrite("Callerid: ".$cl.">\r\n");
        fwrite("Timeout: 15000\r\n");
        fwrite("Context: ".$context."\r\n");
        fwrite("Exten: ".$ext"\r\n");
        fwrite("Async: yes\r\n\r\n" );
        fwrite('ActionID: '.$actionid);
        fwrite("Action: Logoff\r\n\r\n");

Но не могу понять, как мне получить originateresponse по звонку, мне нужно вытащить от туда uniqueid?
Scorpion15
 
Сообщений: 29
Зарегистрирован: 14 дек 2012, 13:13

Re: PHP OrginateResponse

Сообщение zzuz » 03 ноя 2015, 02:18

c Async: yes Вы ответа никакого не получите.
Линия24 - Системы Массового Телефонного Обслуживания
Аватар пользователя
zzuz
 
Сообщений: 1658
Зарегистрирован: 21 сен 2010, 13:33

Re: PHP OrginateResponse

Сообщение Scorpion15 » 03 ноя 2015, 08:54

Мне нужно сопоставить звонок и cdr_mysql, как тогда сделать что бы и async остался и отловить uniqueid?
Scorpion15
 
Сообщений: 29
Зарегистрирован: 14 дек 2012, 13:13

Re: PHP OrginateResponse

Сообщение virus_net » 03 ноя 2015, 09:08

Вы оригинейтите вызов через AMI, в нем же можно отловить и UNIQID в Event Newchannel.
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

ENUMER - звони бесплатно и напрямую.
virus_net
 
Сообщений: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

Re: PHP OrginateResponse

Сообщение Scorpion15 » 03 ноя 2015, 09:57

Т.е. после originate, мне надо freed-ом читать event's пока не увижу event Newchannel с моим actionid?
Scorpion15
 
Сообщений: 29
Зарегистрирован: 14 дек 2012, 13:13

Re: PHP OrginateResponse

Сообщение virus_net » 04 ноя 2015, 09:45

Зачем спрашивать то, что можно проверить самому ?
manager.conf писал(а):[general]
enabled = yes
webenabled = no

port = 5038
bindaddr = 127.0.0.1

.....

[AMIuser]
deny=0.0.0.0/0.0.0.0
permit=127.0.0.1/255.255.255.255
secret = passw0rd
read = all
write = all

Код: выделить все
# asterisk -rx 'manager reload'

Код: выделить все
#telnet 127.0.0.1 5038
Action: login
Username: AMIuser
Secret: passw0rd
Events: on

Выполняем originate и смотрим в консоль.
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

ENUMER - звони бесплатно и напрямую.
virus_net
 
Сообщений: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

Re: PHP OrginateResponse

Сообщение Scorpion15 » 05 ноя 2015, 10:13

Через консоль та все понятно. Меня интересует как это через php отловить?
Scorpion15
 
Сообщений: 29
Зарегистрирован: 14 дек 2012, 13:13

Re: PHP OrginateResponse

Сообщение virus_net » 06 ноя 2015, 08:17

Точно так же как и через консоль.
Подключиться к AMI и слушать + обрабатывать необходимые события скриптом PHP: socket_connect
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

ENUMER - звони бесплатно и напрямую.
virus_net
 
Сообщений: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

Re: PHP OrginateResponse

Сообщение Scorpion15 » 06 ноя 2015, 08:37

Ясно, спасибо! Я думал есть более простое решения получить id звонка, без прослушивания всех событий...
Scorpion15
 
Сообщений: 29
Зарегистрирован: 14 дек 2012, 13:13

Re: PHP OrginateResponse

Сообщение virus_net » 06 ноя 2015, 11:32

Можно цеплять из вывода:
Код: выделить все
*CLI> core show channels concise

ID вызова в самом конце строки.
Соответственно AMI:
Код: выделить все
Action: command
Command: core show channels concise
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

ENUMER - звони бесплатно и напрямую.
virus_net
 
Сообщений: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва


Вернуться в Разработка

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9

© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH