
Igor
19.04.2017
10:47:16
на чем пишете?

Denis 災 nobody
19.04.2017
10:47:19
питон

Igor
19.04.2017
10:47:27
2.7? 3.Х
?

Google

Denis 災 nobody
19.04.2017
10:47:34
так-то есть там пачка send*
2.7
»> dir(con)
['__del__', '__doc__', '__getattr__', '__init__', '__module__', '__repr__', '__setattr__', '__swig_destroy__', '__swig_getmethods__', '__swig_setmethods__', 'api', 'bgapi', 'connected', 'disconnect', 'events', 'execute', 'executeAsync', 'filter', 'getInfo', 'recvEvent', 'recvEventTimed', 'send', 'sendEvent', 'sendMSG', 'sendRecv', 'setAsyncExecute', 'setEventLock', 'socketDescriptor', 'this']
но если тот же sendMSG, что туда передавать?
заработало примерно так
r=con.send("sendmsg 7c825e65-9040-4ef9-8dc4-79b74c611f2c\ncall-command: execute\nexecute-app-name: playback\nexecute-app-arg: tone_stream://%(2000,4000,440,480)\n\n")
но с чтением событий..
»> while True:
... e=con.recvEvent()
... e.getHeader(e.firstHeader())

Igor
19.04.2017
11:03:26
там sendRecv должен быть, ща сек разрабов попинаю
отвлекли

Denis 災 nobody
19.04.2017
11:07:26
»> e.serialize()
'Event-Name: SOCKET_DATA\nContent-Type: command/reply\nReply-Text: %2BOK\n\n'
да, вот и ответ..
и нет переключения каналов, как с *broadcast
»> r=con.sendRecv("sendmsg 2f66d07b-766a-4ca9-85fa-bc94979708e2\ncall-command: execute\nexecute-app-name: bind_digit_action\nexecute-app-arg: bind3,#55,exec:execute_extension, dx XML features,same,other\n\n")
»> r
<ESL.ESLevent; proxy of <Swig Object of type 'ESLevent *' at 0x24ea4e0> >
»> r.serialize()
'Event-Name: SOCKET_DATA\nContent-Type: command/reply\nReply-Text: %2BOK\n\n'

Google

Denis 災 nobody
19.04.2017
11:09:44
да, спс за наводку

Igor
19.04.2017
11:12:53
да короче, подтвердили) ты всё правильно понял)

Denis 災 nobody
19.04.2017
11:14:42
»> def run():
... i=0
... t1=time.time()
... while i<10000:
... r=con.sendRecv("sendmsg 2f66d07b-766a-4ca9-85fa-bc94979708e2\ncall-command: execute\nexecute-app-name: bind_digit_action\nexecute-app-arg: bind3,#55,exec:execute_extension, dx XML features,same,other\n\n")
... i=i+1
... t2=time.time()
... print t2-t1
...
»> con = ESL.ESLconnection("192.168.10.220","8021","ClueCon")
»> run()
0.131443023682
да, шустро )
через хуки пока сделано

Igor
19.04.2017
11:29:53

Denis 災 nobody
19.04.2017
11:31:27
как это можно сделать через консоль фрисвича
в хуке доступны только команды, что есть в консоли

Alexandru
19.04.2017
11:31:46
python script.py
из fs_cli

Denis 災 nobody
19.04.2017
11:32:09
можно ивенты формировать самому, и потом event::fire, я пока в эту сторону думаю
ивент типа Event-Name: SOCKET_DATA
но что странно - в одной консоли запустил слушалку, в другой закинул ивент, но в первой нет ни запроса, ни ответа

Igor
19.04.2017
12:12:47
слушалку как запустил?
там хрень была с подпиской на ивенты

Denis 災 nobody
19.04.2017
12:13:10
весь код выше..

Igor
19.04.2017
12:13:12
там надо было подписываться на всё а фильтровать уже потом

Denis 災 nobody
19.04.2017
12:13:25
а, слушалка всего?

Google

Denis 災 nobody
19.04.2017
12:13:28
на всё

Igor
19.04.2017
12:13:29
да
тогда странно

Denis 災 nobody
19.04.2017
12:13:48
self.con = ESL.ESLconnection(self.hostname,self.port, self.password)
self._connected=True
self.con.events("plain", "all");
но при этом запрос-ответ был..
так как можно в хуке сделать это ивентом? )
хотя не, есть ивенты
Event-Name: CHANNEL_EXECUTE
Event-Name: PRIVATE_COMMAND
но нет того что в ответе и самого запроса
то что Event-Name: SOCKET_DATA

Igor
19.04.2017
12:21:43
CHANNEL_EXECUTE эт понятно, это каждый пук сеанса
PRIVATE_COMMAND не помню

Denis 災 nobody
19.04.2017
12:22:58
да

Igor
19.04.2017
12:23:18
дык это
python script.py

Denis 災 nobody
19.04.2017
12:23:36
пихнуть на ансвер 2 ивента, а поскольку оно в очередь встанет, не должно быть косяков как с uuid_broadcast
не. И сам хук на луа )
ща
local event = freeswitch.Event("message_waiting");
event:addHeader("MWI-Messages-Waiting", "no");
event:addHeader("MWI-Message-Account", "sip:1000@10.0.1.100");
event:addHeader("Sofia-Profile", "internal");
event:fire();
вот типа такого

Google

Igor
19.04.2017
12:25:24
да ладно, вот с той же самой херней морочаемся ?

Denis 災 nobody
19.04.2017
12:25:34
?

Igor
19.04.2017
12:26:13
с отправкой notify хомячку
по получению голосовой почты
тем же принципом вобщем
генерацией ивента

Denis 災 nobody
19.04.2017
12:28:28
для нотифая была какая-то генерилка, уже закрыл

Igor
19.04.2017
12:28:51
да мы через аутбаунд сокет пилим
понять не можем как правильно генерить
погоди, ты хочешь подписаться на ивент, поймать его и заменить аудио в канале?

Admin
ERROR: S client not available

Denis 災 nobody
19.04.2017
12:30:12
нет
сгенерить
а для этого поймать то что через esl вылетает
и повторить прямой генерацией
http://wiki.freeswitch.org/wiki/Event_Socket#sendevent
не?
No Message
sendevent message_waiting
MWI-Messages-Waiting: no
MWI-Message-Account: sip:user1@192.168.1.14
Some Message
sendevent message_waiting
MWI-Messages-Waiting: yes
MWI-Message-Account: sip:user1@192.168.1.14
MWI-Voice-Message: 0/1 (0/0)
и с примером выхлопа даже

Igor
19.04.2017
12:32:03
MWI-Message-Account: sip:user1@192.168.1.14

Google

Igor
19.04.2017
12:32:11
вот с этим сложность, херня какая то летит

Denis 災 nobody
19.04.2017
12:32:17
?

Igor
19.04.2017
12:33:12
да на контакт не летит нихрена, щас вот пробуем, вроде проканало

Denis 災 nobody
19.04.2017
12:35:23
должно..
T 192.168.10.250:35197 -> 192.168.10.220:8021 [AP]
sendmsg 14455508-c4cc-4317-b4cd-b09f8b241860
call-command: execute
execute-app-name: bind_digit_action
execute-app-arg: bind3,#55,exec:execute_extension, dx XML features,same,other
T 192.168.10.220:8021 -> 192.168.10.250:35197 [AP]
Content-Type: command/reply
Reply-Text: -ERR invalid session id [14455508-c4cc-4317-b4cd-b09f8b241860]
во, поймал

Igor
19.04.2017
12:43:09
не та нога чтоли?
или звонок уже дохлый?

Yuriy
19.04.2017
12:46:18
Всем добрый день. Никак не могу найти инфу где у freeswitch настраиваются feature codes?
Хочу использовать свой функционал для работы с трансфером и тд (переписать стандартные функции)
или все пилится во features.xml?

Denis 災 nobody
19.04.2017
12:48:36

mad
19.04.2017
12:48:50


Yuriy
19.04.2017
12:50:19
То есть тут обрабатывается и кнопрка трансфера на телефоне, я правильно понимаю?
Просто в астеирске например трансфер на телефоне в ядре. То ес тьможно трансфер реализовать без ядра но он по feature коду а не по SIP методу
Кнжка есть. 1.6

Igor
19.04.2017
12:50:21

Denis 災 nobody
19.04.2017
12:55:23
Точнее 202 код.

Yuriy
19.04.2017
12:56:42
Ок. Спасибо. Видимо тут гибче чем на астериске)

Igor
19.04.2017
12:59:53

mad
19.04.2017
13:05:52
?

Denis 災 nobody
19.04.2017
13:41:14
не получается получить sendmsg из евента..

Igor
19.04.2017
13:41:26
что говорит?