$dialer.getSipHeaders
Метод возвращает SIP-заголовки входящего звонка:
- Системные заголовки:
call-id
,cseq
,contact
,from
,max-forwards
,refer-to
,to
,via
. - Дополнительные заголовки. Укажите их в параметре SIP-заголовки в настройках телефонии.
подсказка
Подробнее про работу с заголовками смотрите в статье SIP-заголовки.
Синтаксис
Метод вызывается без аргументов:
$dialer.getSipHeaders();
Возвращаемое значение
Метод возвращает объект с заголовками и их значениями:
{
"cseq": "12345 INVITE",
"contact": "<sip:userA@hostA>",
"call-id": "abc123",
"max-forwards": "70",
"from": "<sip:userA@domainA>;tag=tagA",
"to": "<sip:userB@hostB>",
"via": "SIP/2.0/UDP hostB:5060;branch=z9hG4bKbranchA",
"X-Example": "Example" // Дополнительный заголовок
}
- Названия системных заголовков указаны в нижнем регистре.
- Дополнительные заголовки имеют тот же регистр, который использовался в настройке SIP-заголовки.
Использование в сценарии
Для этого примера укажем дополнительный заголовок X-Call-Purpose
в настройке SIP-заголовки,
чтобы бот мог получить этот заголовок в сценарии.
state: Start
q!: $regex</start>
a: Привет!
script:
$session.sipHeaders = $dialer.getSipHeaders();
state: Order
intent: /заказ
if: $session.sipHeaders["X-Call-Purpose"] === "promo"
a: Сегодня у нас действует скидка 20%
- Бот получает заголовки в стартовом стейте.
- В стейте
Order
бот рассказывает о скидке, если заголовокX-Call-Purpose
имеет значениеpromo
.