Size: a a a

2021 March 22

RM

Ruslan Muzhichkov in ru_freeswitch
Alexandru Covalschi
воспринимайте трансфер как GOTO по диалплану
Спасибо
источник

АХ

Алексей Хабуляк... in ru_freeswitch
Ruslan Muzhichkov
Есть прога на ç++ , которая посылает в строковом варианте во FS команды api. Был реализован трансфер с вышеуказанной функцией. Но теперь нужно добавить еще 2 кастомных параметра в sip заголовок. Через простой вызов по команде originate я спокойно могу это делать, а вот тут столкнуля с проблемой.
поидее через uuid_setvar нужно выставить переменные сначала(<action application="set" data="sip_h_X-myCustomHeader=${sip_h_X-myCustomHeader}"/>)
а потом уже делать трансфер.
ну или выставить эти переменные в контексте нужном и трансфернуть туда
источник

RM

Ruslan Muzhichkov in ru_freeswitch
Алексей Хабуляк
поидее через uuid_setvar нужно выставить переменные сначала(<action application="set" data="sip_h_X-myCustomHeader=${sip_h_X-myCustomHeader}"/>)
а потом уже делать трансфер.
ну или выставить эти переменные в контексте нужном и трансфернуть туда
Оооо, спасибо. Попробую
источник

AK

Andrey Kryukov in ru_freeswitch
Ruslan Muzhichkov
Оооо, спасибо. Попробую
есть еще вариант сделать
<action application="export" data="_nolocal_sip_h_X-myCustomHeader=${sip_h_X-myCustomHeader}"/>
источник
2021 March 23

КЮ

Кетов Юрий in ru_freeswitch
привет, подскажите плз кто общался с mod_cdr_csv, как оттуда переменные экспортировать в другой канал например? это вообще возможно ?
источник

AM

Alexey Mishagin in ru_freeswitch
Кетов Юрий
привет, подскажите плз кто общался с mod_cdr_csv, как оттуда переменные экспортировать в другой канал например? это вообще возможно ?
это же cdr
зачем там что то экспортировать?
источник

КЮ

Кетов Юрий in ru_freeswitch
есть lua скрипт, который в зависимости от того взяли трубку или нет, пишет в бд, вот несколько переменных достать неудается, НО в mod_cdr_csv они есть. например длительность вызова(когда трубку не подняли)
источник

RM

Ruslan Muzhichkov in ru_freeswitch
Всем доброго времени суток. Возник вопрос. А могу ли я через api сразу несколько команд передать типо api uuid_setvar ... uuid_transfer ... ????
источник

AM

Alexey Mishagin in ru_freeswitch
Кетов Юрий
есть lua скрипт, который в зависимости от того взяли трубку или нет, пишет в бд, вот несколько переменных достать неудается, НО в mod_cdr_csv они есть. например длительность вызова(когда трубку не подняли)
https://freeswitch.org/confluence/display/FREESWITCH/CDR
подозреваю, что это вычисляемые значения.
если нет — меня точно поправят
источник

КЮ

Кетов Юрий in ru_freeswitch
да, верно и их сразу видно в uuid_dump или в event например, вопрос только в том - как их оттуда забрать.
пробовал через
api:executeString(string.format("eval uuid:%s ${video_media_flow}", t_uuid));
- переменную подобрать неудалось, в итоге - включил mod_cdr_csv, и отсюда вопрос - как из mod_cdr_csv экспортировать и возможно ли это?
источник

АЦ

Алексей Целищев... in ru_freeswitch
Я вычислял.
источник

КЮ

Кетов Юрий in ru_freeswitch
Алексей Целищев
Я вычислял.
и удалось ?
источник

АЦ

Алексей Целищев... in ru_freeswitch
Кетов Юрий
и удалось ?
Ну да )) я ж в прошедшем времени пишу
источник

КЮ

Кетов Юрий in ru_freeswitch
Алексей Целищев
Ну да )) я ж в прошедшем времени пишу
ок и какую переменную берете в качестве времени завершения Б лега(без ответного состояния) ?
источник

AK

Andrey Kryukov in ru_freeswitch
Кетов Юрий
да, верно и их сразу видно в uuid_dump или в event например, вопрос только в том - как их оттуда забрать.
пробовал через
api:executeString(string.format("eval uuid:%s ${video_media_flow}", t_uuid));
- переменную подобрать неудалось, в итоге - включил mod_cdr_csv, и отсюда вопрос - как из mod_cdr_csv экспортировать и возможно ли это?
Мое мнение подход изначально неверный.
1. данные в CDR  попадают только те которые были проставлены в канальных переменных, с той разницей что, некоторые параметры типа ${duration}  или тому подобные выставляются по факту завершения звонка
или даже на этапе REPORTING(именно в этот момент формируются CDR)
2. для такой обработки подойдет точно api_hangup_hook (https://freeswitch.org/confluence/display/FREESWITCH/api_hangup_hook)
3. стоит проверить вот что api_reporting_hook
4. при этом что в случае 2 и в случае 3 стоит выставить переменную <action application="set" data="session_in_hangup_hook=true"/> (если хотим считывать данные для А канала) или выставлять в параметрах бриджа если хотим чтобы применялось для Б-канала

Попробуйте сделать дамп данных именно в момент reporting   на нужных каналах, я уверен что найдете все интересующие Вас канальные переменные

api_reporting_hook - like api_hangup_hook but after reporting state (both honor session_in_hangup_hook)
источник

AK

Andrey Kryukov in ru_freeswitch
Коллеги, приветствую
Есть вопрос по enable-compact-headers опции
я правильно понимаю, что  если значение этого параметра выставить в TRUE, то при выставлении заголовков вида
sip_h_P-Asserted-Identity=<sip:123456@voip.com>,<tel:+74951234567>
это приведет к формированию одного заголовка
P-Asserted-Identity: <sip:123456@voip.com>,<tel:+74951234567>

Потому как сейчас при попытке выставить PAI  создает 2 заголовка
P-Asserted-Identity: <sip:123456@voip.com>
P-Asserted-Identity: <tel:+74951234567>

На что глобально еще может повлиять, кто сталкивался ?
источник

SY

Serge Yuriev in ru_freeswitch
Andrey Kryukov
Коллеги, приветствую
Есть вопрос по enable-compact-headers опции
я правильно понимаю, что  если значение этого параметра выставить в TRUE, то при выставлении заголовков вида
sip_h_P-Asserted-Identity=<sip:123456@voip.com>,<tel:+74951234567>
это приведет к формированию одного заголовка
P-Asserted-Identity: <sip:123456@voip.com>,<tel:+74951234567>

Потому как сейчас при попытке выставить PAI  создает 2 заголовка
P-Asserted-Identity: <sip:123456@voip.com>
P-Asserted-Identity: <tel:+74951234567>

На что глобально еще может повлиять, кто сталкивался ?
Не, это не про то совсем - будут у тебя просто однобуквенные стандартные заголовки. Рфц номер навскидку не помню.
В твоём случае что-то мне подсказывает ты странного хочешь или синтаксис путаешь
источник

SY

Serge Yuriev in ru_freeswitch
Кетов Юрий
да, верно и их сразу видно в uuid_dump или в event например, вопрос только в том - как их оттуда забрать.
пробовал через
api:executeString(string.format("eval uuid:%s ${video_media_flow}", t_uuid));
- переменную подобрать неудалось, в итоге - включил mod_cdr_csv, и отсюда вопрос - как из mod_cdr_csv экспортировать и возможно ли это?
В конфиге модуля есть имена переменных из которых строка состоит. Тебе нужны duration и billsec. Соответственно время до ответа или не ответа - их разница.
Кстати, класть то можно сразу в БД - модули есть и для марии и постгреса
источник
2021 March 24

КЮ

Кетов Юрий in ru_freeswitch
Andrey Kryukov
Мое мнение подход изначально неверный.
1. данные в CDR  попадают только те которые были проставлены в канальных переменных, с той разницей что, некоторые параметры типа ${duration}  или тому подобные выставляются по факту завершения звонка
или даже на этапе REPORTING(именно в этот момент формируются CDR)
2. для такой обработки подойдет точно api_hangup_hook (https://freeswitch.org/confluence/display/FREESWITCH/api_hangup_hook)
3. стоит проверить вот что api_reporting_hook
4. при этом что в случае 2 и в случае 3 стоит выставить переменную <action application="set" data="session_in_hangup_hook=true"/> (если хотим считывать данные для А канала) или выставлять в параметрах бриджа если хотим чтобы применялось для Б-канала

Попробуйте сделать дамп данных именно в момент reporting   на нужных каналах, я уверен что найдете все интересующие Вас канальные переменные

api_reporting_hook - like api_hangup_hook but after reporting state (both honor session_in_hangup_hook)
да все верно, вот только этот подход работает только для вызова с ответным состоянием, а мне требуется забрать переменные из вызова - без 200ок.
источник

КЮ

Кетов Юрий in ru_freeswitch
Andrey Kryukov
Мое мнение подход изначально неверный.
1. данные в CDR  попадают только те которые были проставлены в канальных переменных, с той разницей что, некоторые параметры типа ${duration}  или тому подобные выставляются по факту завершения звонка
или даже на этапе REPORTING(именно в этот момент формируются CDR)
2. для такой обработки подойдет точно api_hangup_hook (https://freeswitch.org/confluence/display/FREESWITCH/api_hangup_hook)
3. стоит проверить вот что api_reporting_hook
4. при этом что в случае 2 и в случае 3 стоит выставить переменную <action application="set" data="session_in_hangup_hook=true"/> (если хотим считывать данные для А канала) или выставлять в параметрах бриджа если хотим чтобы применялось для Б-канала

Попробуйте сделать дамп данных именно в момент reporting   на нужных каналах, я уверен что найдете все интересующие Вас канальные переменные

api_reporting_hook - like api_hangup_hook but after reporting state (both honor session_in_hangup_hook)
спасибо, разобрался hangup hook еще в одном месте добавил для обработки предответного состояния. причина в моем коде была.
источник