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

Номер в Диалплане из поля To: (SIP INVITE) при вх. звонке

Проблемы Asterisk без вэб-оболочек и их решения

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

Ответить
Аватара пользователя
Ferrum
Сообщения: 338
Зарегистрирован: 25 ноя 2011, 15:16

Номер в Диалплане из поля To: (SIP INVITE) при вх. звонке

Сообщение Ferrum »

Вопрос такой, можно ли силами sip.conf выбирать для отправки в Диалплан номер из поля To:, а не из поля INVITE sip:
Я понимаю что номер из поля To: можно увидеть и изменить силами самого Диалплана к примеру ${CALLERID(rdnis)}, а можно ли силами самого sip.conf, сделать так чтоб выбирался номер из поля To: ?
ded
Сообщения: 15620
Зарегистрирован: 26 авг 2010, 19:00

Re: Номер в Диалплане из поля To: (SIP INVITE) при вх. звон

Сообщение ded »

Переменная ${EXTEN} вполне содержит всё из поля To, разве нет?
exten => _.,1,NoOp(To is ${EXTEN})
Можно разобрать более сложную конструкцию, типа этой:

Код: Выделить всё

INVITE sip:+14155552222@example.pstn.twilio.com SIP/2.0
Via: SIP/2.0/UDP 192.168.10.10:5060;branch=z9hG4bK776asdhds
Max-Forwards: 70
To: "Bob" <sip:+14155552222@example.pstn.twilio.com>
From: "Alice" <sip:+14155551111@example.pstn.twilio.com>;tag=1
Call-ID: a84b4c76e66710
CSeq: 1 INVITE
Contact: "Alice" <sip:+14155551111@192.168.10.10:5060>
Diversion: "Sales" <sip:+14155550000@example.pstn.twilio.com>
P-Asserted-Identity: "Alice" <sip:+14155551111@example.pstn.twilio.com>
Content-Length: 0
Тут из поля То можно вытащить отдельно Bob, отдельно +14155551111, думаю через функцию SIP Header + регулярные выражения
https://www.voip-info.org/asterisk-func-sipheader/
gosha
Сообщения: 375
Зарегистрирован: 06 сен 2010, 17:41
Контактная информация:

Re: Номер в Диалплане из поля To: (SIP INVITE) при вх. звон

Сообщение gosha »

он наверное про то, что

INVITE sip:+14155552222@example.pstn.twilio.com SIP/2.0

может отличаться от

To: "Bob" <sip:+14155552222@example.pstn.twilio.com>
Аватара пользователя
Ferrum
Сообщения: 338
Зарегистрирован: 25 ноя 2011, 15:16

Re: Номер в Диалплане из поля To: (SIP INVITE) при вх. звон

Сообщение Ferrum »

gosha писал(а):он наверное про то, что

INVITE sip:+14155552222@example.pstn.twilio.com SIP/2.0

может отличаться от

To: "Bob" <sip:+14155552222@example.pstn.twilio.com>
Именно так, в поле To: как раз корректный номер, а в INVITE цифры л.с., общие для всех входящих номеров, средствами диалплана выделить данный номер обычно не составляет труда (просто в моем варианте Диалплан в БД управляемой, CRM и под этого оператора придется дописывать логику), вот и возник вопрос, а через sip.conf нет возможности сменить поле с INVITE на TO ?
Аватара пользователя
Ferrum
Сообщения: 338
Зарегистрирован: 25 ноя 2011, 15:16

Re: Номер в Диалплане из поля To: (SIP INVITE) при вх. звон

Сообщение Ferrum »

ded писал(а):Переменная ${EXTEN} вполне содержит всё из поля To, разве нет?
exten => _.,1,NoOp(To is ${EXTEN})
Можно разобрать более сложную конструкцию, типа этой:

Код: Выделить всё

INVITE sip:+14155552222@example.pstn.twilio.com SIP/2.0
Via: SIP/2.0/UDP 192.168.10.10:5060;branch=z9hG4bK776asdhds
Max-Forwards: 70
To: "Bob" <sip:+14155552222@example.pstn.twilio.com>
From: "Alice" <sip:+14155551111@example.pstn.twilio.com>;tag=1
Call-ID: a84b4c76e66710
CSeq: 1 INVITE
Contact: "Alice" <sip:+14155551111@192.168.10.10:5060>
Diversion: "Sales" <sip:+14155550000@example.pstn.twilio.com>
P-Asserted-Identity: "Alice" <sip:+14155551111@example.pstn.twilio.com>
Content-Length: 0
Тут из поля То можно вытащить отдельно Bob, отдельно +14155551111, думаю через функцию SIP Header + регулярные выражения
https://www.voip-info.org/asterisk-func-sipheader/
Переменная ${EXTEN} выдает номер из поля INVITE sip:, мне надо чтоб выдавало из поля To:, но без редактирования Диалплана.
Сори за немного мутно сформулированный, изначальный вопрос.
ded
Сообщения: 15620
Зарегистрирован: 26 авг 2010, 19:00

Re: Номер в Диалплане из поля To: (SIP INVITE) при вх. звон

Сообщение ded »

Функция SIP_HEADER()
Принимаем INVITE в
exten => _.,1,NoOp(To: field is ${SIP_HEADER(to)})
Эта функция может использоваться как для получения значения заголовка, так и для установки значения заданного заголовка.
*CLI> show function SIP_HEADER
и разбираем этот заголовок на части
To: "Bob" <sip:+14155552222@example.pstn.twilio.com>
выбираем из него нужное значение
exten => _.,2,Goto(incoming,${SIP_HEADER(to):5:4},1)

https://www.voip-info.org/asterisk-func-sipheader/
Аватара пользователя
Ferrum
Сообщения: 338
Зарегистрирован: 25 ноя 2011, 15:16

Re: Номер в Диалплане из поля To: (SIP INVITE) при вх. звон

Сообщение Ferrum »

Как я уже говорил, я надеялся на волшебный флаг в sip.conf который бы брал номер из поля ТО вместо invite, в диалплане это делается элементарно

Код: Выделить всё

${CALLERID(rdnis)}
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH