Как сопоставить созданный в 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)
])
Попробовал с ходу:
На что AMI отвечает что результат выполнения Success, но вот данных - нету (пустая строка).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)
])
Такая беда - когда нужно получить ip,ua тех каналов, которые создает asterisk посредством dial.
Для исхдящих звонков - ок. Работает.
Вопрос - ну наверняка кто-то решал такую проблему? Может есть решение?