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

Pjsip - сопоставление каналов.

Проблемы и их решения Asterisk как такового

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

Pjsip - сопоставление каналов.

Сообщение shader » 30 ноя 2023, 11:18

Перехожу с chan_sip на pjsip и не могу решить 1 задачу:
Как сопоставить созданный в asterisk канал с конкретным contact?

Практика: есть exten , на котором зарегистрированы 2 contact.
Я звоню на этот exten: Dial(${PJSIP_DIAL_CONTACTS(${EXTEN})})
asterisk создаёт два новых канала для каждого контакта.
В старом драйвере chan_sip я на создание каждого канала ловил событие AMI и потом делал так:
Код: выделить все
let [ip, ua] = await Promise.all([
                await this.ami.getVar('CHANNEL(peerip)', channel.name),
                await this.ami.getVar('CHANNEL(useragent)', channel.name)
            ])

И оно работало. С PJSIP - иначе.
Попробовал с ходу:
let [ip, ua] = await Promise.all([
await this.ami.getVar('PJSIP_HEADER(read,Via)', channel.name),
await this.ami.getVar('PJSIP_HEADER(read,user-agent)', channel.name)
])


На что AMI отвечает что результат выполнения Success, но вот данных - нету (пустая строка).
Такая беда - когда нужно получить ip,ua тех каналов, которые создает asterisk посредством dial.
Для исхдящих звонков - ок. Работает.

Вопрос - ну наверняка кто-то решал такую проблему? Может есть решение?
shader
 
Сообщений: 117
Зарегистрирован: 09 авг 2013, 10:33

Re: Pjsip - сопоставление каналов.

Сообщение shader » 30 ноя 2023, 11:32

update:
Частично решает проблему сие:
https://docs.asterisk.org/Asterisk_18_D ... SE_HEADER/
Но! Только если трубка снимается.
shader
 
Сообщений: 117
Зарегистрирован: 09 авг 2013, 10:33


Вернуться в Конфигурация и настройка Asterisk

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

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

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