Чат  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

FreeSwitch модификация Contact Header

Использование и настройка других открытых VoIP PBX

Модератор: april22

FreeSwitch модификация Contact Header

Сообщение lext55 » 19 ноя 2020, 20:06

Здравствуйте, коллеги.

Имеею: debian 10 , freeswitch 1.10.05 из репозитория. Стыки без регистраций по IP адресу.
Вызов приходит по одному стыку без регистрации, и уходит по другому стыку без регистрации.

Требуется изменить поле Contact. Таким образом, чтобы в User Part был CallerID (номер звонящего).
Т.е. изменить поле Contact на B-led в исходящих INVITE.

Т.е. от вида:
Код: выделить все
Contact: <sip:gw+gw-eltex@192.168.15.1:5060>


Привести к виду:
Код: выделить все
Contact: <sip:74955555555@192.168.15.1:5060>


Что уже делал: нагуглил переменные

sip_contact_params
sip_contact_user
sip_contact_port
sip_contact_uri
sip_contact_host


И пробовал менять их значение на B стороне (в диалплане) , например вот так:

Код: выделить все
<action application="export" data="nolocal:sip_contact_user=74955555555"/>


Либо так

Код: выделить все
<action application="bridge" data="{sip_contact_user=74955555555}sofia/gw-eltex/$1"/>


Без результатов. Точнее так: само значение переменной на B-стороне меняется (проверял uuid_dump) , но в исходящих INVITE ничего не происходит.

После 2 дней с WireShark-ом все-таки смог поменять значение user part в поле Contact, в gateway нужно добавить конфиг:

Код: выделить все
<param name="username" value="74955555555"/>
<param name="extension" value="74955555555"/>
<param name="extension-in-contact" value="true"/>


Проблема заключается в следующем: в данном месте конфига работают только глобальные переменные $${variable_name} , переменные из диалплана сюда не передаются ${variable_name}.

В общем как в User Part в поле Contact запихнуть значение переменной CallerID ?

У меня не получается манипулировать ни каким полем Contact в исходящих INVITE.

Также отдельно замечую поведение при назначении вот этой переменной на B-стороне
Код: выделить все
sip_outgoing_contact_uri

Чтобы я туда не записал, выходит ошибка что недопустимое значение переменной.


Также пробовал манипулировать вот этой переменной
Код: выделить все
sip_invite_contact_params

эта переменная дописывает параметры через точку с запятой к текущему полю Contact. По факту корректно работает только эта переменная. Но она позволяет только дописать extra params в поле Contact , поменять текущие значения user , host она не может .
lext55
 
Сообщений: 4
Зарегистрирован: 23 апр 2020, 20:58

Вернуться в FreeSwitch, SER, Yate и другие

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

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

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