Size: a a a

2021 February 19

AK

Andrey Kryukov in ru_freeswitch
Zlokotik
То есть перед запятой а-нога, после б-нога, а sofia_contact подставляет то, что соответствует юзеру?
Я просто смотрю, что в ванилле написано (<param name="dial-string" value="{^^:sip_invite_domain=${dialed_domain}:presence_id=${dialed_user}@${dialed_domain}}${sofia_contact(*/${dialed_user}@${dialed_domain})},${verto_contact(${dialed_user}@${dialed_domain})}"/>) и вообще не могу понять что там и куда.
сначала стоит понять что за что отвечает  и что стоит или можно выкинуть
если не используется mod_verto ,  то эту часть можно выкинуть

presence_id  - почитайте за что отвечает (упрощенно по сути BLF)

итого у вас остается {sip_invite_domain=${dialed_domain}}${sofia_contact(*/${dialed_user}@${dialed_domain})}

и о чудо чудное   похоже на стандартную диалстроку
<variable_scope=super-global>{variable_scope=thread1}[variable_scope=leg1a]<target_endpoint>[,[variable_scope=leg1b]<target_endpoint>][|<target_endpoint>]
https://freeswitch.org/confluence/display/FREESWITCH/mod_dptools%3A+bridge#mod_dptools:bridge-2.Examples
источник

AK

Andrey Kryukov in ru_freeswitch
sip_invite_domain - который будет проставлен в Request SIP-URI
источник

AK

Andrey Kryukov in ru_freeswitch
источник

Z

Zlokotik in ru_freeswitch
Спасибо
источник

BB

Borik Bobrujskov in ru_freeswitch
Marc Quore
Destination number
Регексом с дальнейшей заменой переменной в CDR. Что-то типа

<action application=set data="dest_num_for_cdr=${regex(${destination_number}|^\+(\d+)|%1)}"/>
источник

AK

Andrey Kryukov in ru_freeswitch
Zlokotik
Спасибо
сделайте в fs_cli  команду    show registrations
и поймите что
${sofia_contact(*/1234@my-domain.com)} отдаст вам диалстроку для звонка через нужный профиль на котором произошла регистрация и данные заголовка Contact  при регистрации

sofia/internal/sip:5020@192.168.1.10:5060
источник

BB

Borik Bobrujskov in ru_freeswitch
Ну и потом в аутолоад_конфигс/цдр_цсв.конф поправить destination_number на dest_num_for_cdr
источник

AK

Andrey Kryukov in ru_freeswitch
Borik Bobrujskov
Ну и потом в аутолоад_конфигс/цдр_цсв.конф поправить destination_number на dest_num_for_cdr
не забывать назначать данную переменную как во входящих так и в исходящих вызовах
источник

BB

Borik Bobrujskov in ru_freeswitch
Это если по обоим плечам cdr нужны, да
источник

MQ

Marc Quore in ru_freeswitch
Borik Bobrujskov
Регексом с дальнейшей заменой переменной в CDR. Что-то типа

<action application=set data="dest_num_for_cdr=${regex(${destination_number}|^\+(\d+)|%1)}"/>
А в базе соответственно нужно будет колонку dest_num_for_cdr завести?
источник

BB

Borik Bobrujskov in ru_freeswitch
Про базу не подскажу, не имел дела с pg_cdr
источник

MQ

Marc Quore in ru_freeswitch
Borik Bobrujskov
Это если по обоим плечам cdr нужны, да
Нужно по входящему
источник

AK

Andrey Kryukov in ru_freeswitch
Zlokotik
То есть перед запятой а-нога, после б-нога, а sofia_contact подставляет то, что соответствует юзеру?
Я просто смотрю, что в ванилле написано (<param name="dial-string" value="{^^:sip_invite_domain=${dialed_domain}:presence_id=${dialed_user}@${dialed_domain}}${sofia_contact(*/${dialed_user}@${dialed_domain})},${verto_contact(${dialed_user}@${dialed_domain})}"/>) и вообще не могу понять что там и куда.
Я ошибся  выбор символа разделителя "запятая", "вертикальная черта", ":_:"
зависит от того как звонить
| - последовательно(как Вам и надо)
, - одновременно
:_:  в параллельных потоках
источник

AK

Andrey Kryukov in ru_freeswitch
Marc Quore
Нужно по входящему
тогда, как Вам колега и описал, присваиваете текущему каналу  переменную , и в настройке  модуля который пишет Вам CDR  заменяете  destination_number, на ту которую создали
источник

Z

Zlokotik in ru_freeswitch
Andrey Kryukov
Я ошибся  выбор символа разделителя "запятая", "вертикальная черта", ":_:"
зависит от того как звонить
| - последовательно(как Вам и надо)
, - одновременно
:_:  в параллельных потоках
Да, я понял. У меня получилось, и я вроде кое-что начал понимать, спасибо огромное.
источник

AK

Andrey Kryukov in ru_freeswitch
дальше  прочитайте про канальные переменные
leg_timeout
leg_delay_start

и большинство встанет на свои места, так же стоит почитать про
hangup_after_bridge , ну и наверное про ignore_early_media
источник

AM

Alexey Mishagin in ru_freeswitch
Alexey Zhuykov
Это вызов из одного домена в другой?
нет, у меня вызов от внутреннего абонента попадал судя по логам не в тот домен и с точки зрения фухионпбкс был входящим, а не исходящим.
источник

AK

Andrey Kryukov in ru_freeswitch
Alexey Mishagin
нет, у меня вызов от внутреннего абонента попадал судя по логам не в тот домен и с точки зрения фухионпбкс был входящим, а не исходящим.
стоит понимать  что с точки зрения сервера  рассматривается direction
Представляйте всегда такую картинку
UAC абонента А  ———> Freeswitch(Fusion PBX)  ———> UAC абонента Б
с точки зрения логики относительно пользователя UAC:
1 звонок исходящий от пользователя А
2 звонок входящий для пользователя Б

А вот с точки зрения стороны которая стоит между  все с точностью до наоборот
1 входящий на FS
2 исходящий с FS
источник

AM

Alexey Mishagin in ru_freeswitch
Andrey Kryukov
стоит понимать  что с точки зрения сервера  рассматривается direction
Представляйте всегда такую картинку
UAC абонента А  ———> Freeswitch(Fusion PBX)  ———> UAC абонента Б
с точки зрения логики относительно пользователя UAC:
1 звонок исходящий от пользователя А
2 звонок входящий для пользователя Б

А вот с точки зрения стороны которая стоит между  все с точностью до наоборот
1 входящий на FS
2 исходящий с FS
я понимаю, проблему решил, был косяк в acl
просто озадачило, что на стенде все работало как корректно, а при переносе настроек на сервер предназначенный для прода — поломалось.
ну и это фузион.. он несколько громоздок для осознания
источник

PS

Pavel Shkatov in ru_freeswitch
Приветствую! Есть задача для оценки бюджета и возможностей, связанная с веб-трансляциями, монетизацией, контролем доступа пользователей и длительности сеанса. Буду рад отклику.
источник