Корзина

Что такое Busy Lamp Field (BLF)

2014-07-03T12:16:05+0400

Busy Lamp Field (BLF) – Что это и как это работает (Subscribe, Notify)

Busy Lamp Field (BLF) это подсветка в виде лампочек на кнопках телефона, которые показывают «сведения о присутствии» абонентов одной АТС. Чаще всего эта функция настраивается через веб-интерфейс телефона. После настройке, телефон подписывается на информацию о нужных абонентах, которую рассылает АТС. BLF работает через протокол SIP, используя запросы SUBSCRIBE и NOTIFY. В нормальном сценарии телефон запрашивает информацию (запрос SUBSCRIBE), а АТС отвечает (ответ NOTIFY).

Как это работает?

Когда телефон настроен на мониторинг внутренних номеров, он отправляет запрос SUBSCRIBE в сторону АТС. Если подписка на состояние внутренних номеров одобрена АТС, то в сторону телефона придет ответ 200 OK. Сообщение NOTIFY, содержащее данные в формате XML передаться подписчику (в нашем примере телефону). Как только статус одного из подписанных номеров изменится (занято, ожидание вызова, свободен), АТС отправит в сторону телефона сообщение NOTIFY. На сообщение NOTIFY подписчик, должен ответить сообщением 200 OK. Подписчик может отписаться от рассылки, если отправит в сторону АТС сообщение SUBSCRIBE, в котором, в поле Expires будет установлено значение 0. Далее рассмотрим подробнее данный механизм.

Запрос Subscribe

В этом примере, телефон зарегистрирован на АТС, с внутренним номером 106. Ниже представлен запрос SUBSCRIBE. Телефон подписан на получение информации о внутреннем номере 136.

2014-06-30 10-07-03

В этом примере мы можем увидеть:

  • SUBSCRIBE sip: Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра..4;user=phone SIP/2.0 – сообщение SUBSCRIBE направлено на получение информации по номеру 136, зарегистрированного на АТС c IP адресом 10.130.130.4
  • From: ; – это поле содержит информацию о подписчике, номер 106, зарегистрированный на АТС с IP адресом 10.130.130.4
  • Accept: application/dialog-info+xml – поле указывает, что разрешен прием информации dialog-info в XML формате
  • Expires: 3600 – время истечения подписки. По истечении этого времени, подписчик должен послать еще одно сообщение SUBSCRIBE в сторону АТС, чтобы продолжить получать интересующую его информацию
  • Content-Length: 0 – в поле указывается, что в этом SIP сообщении нету информации в XML формате

Когда сообщение SUBSCRIBE получено и обработано АТС, АТС посылает в сторону подписчика сообщение 200 OK.

2014-06-30 10-00-53

Запрос Notify

В этом примере показано, как номер 136 меняет свой статус. Сообщение NOTFIY содержит информацию в формате XML и отправляется АТС, в сторону подписчика.

2014-06-30 9-59-10

В этом примере мы можем увидеть:

  • NOTIFY sip:Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.:2051;line=1ofdyu7v SIP/2.0 – в этом поле мы видим, что сообщение NOTIFY предназначается внутреннему номеру 106, имеющему IP адрес 10.130.130.58
  • Subscription-State: active;expires=3521 – в этом поле мы видим, сколько времени осталось до конца подписки
  • Content-Length: 507 – в этом поле мы видим размер XML файла в байтах
  • entity=”sip:Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра..4;user=phone” – в этом поле представлена, информация о абоненте, на которого телефон подписался
  • direction=”initiator” – в этом поле показано, что наблюдаемый внутренний номер, стал инициатором звонка. Если бы наблюдаемый внутренний номер принял входящий вызов, то в значении поля было бы указано “recipient”
  • confirmed – в этом поле указан статус вызова, в этом примере вызов установлен, т.е. принят другой стороной. Если вызов еще не обработан (принят), удаленным абонентом, то в поле было бы указано “early”, а если бы вызов был закончен, то в поле было бы указано “void”
  • in , – в этом поле показано, что внутренний номер 136 вызывает номер 117

Когда сообщение NOTIFY получено и обработано подписчиком, подписчик посылает в сторону АТС сообщение 200 OK.

2014-06-30 10-01-45

Отказ от подписки

В этом примере показано, как подписчик отказывается от подписки на стороне АТС. Разница между запросами SUBSCRIBE и UNSUBSCRIBE, только в том, что в поле Expire указан параметр 0. 

2014-06-30 10-08-07

В этом примере мы можем увидеть:

  • SUBSCRIBE sip:Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра..4;user=phone SIP/2.0 - сообщение SUBSCRIBE направлено на получение информации по номеру 136, зарегистрированного на АТС c IP адресом 10.130.130.4
  • From: Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра..4>;;tag=4fog9tlb9d – это поле содержит информацию о подписчике, номер 106, зарегистрированный на АТС с IP адресом 10.130.130.4
  • Expires: 0 – это поле указывает, что подписчик отказывается от дальнейшего получения информации о внутреннем номере 136. Т.е. указывается, что время подписки равно 0

Когда сообщение SUBSCRIBE получено и обработано АТС, АТС посылает в сторону подписчика сообщение 200 OK.

2014-06-30 10-03-15

Часто встречающиеся ошибки

  • 403 – Forbidden. Сервер не зарегистрировал запрос
  • 423 – Interval to small. Время жизни Expires, указанное в SIP сообщение, очень мало
  • 481 – Подписки не существует
  • 489 – Bad event. Данное событие не поддерживается
logo

 ice logo new white

© 2008-2020 | Все права защищены

142770, Москва, Калужское шоссе, 24-й километр, 1, стр. 1 / БЦ Высота

rbkm old   paypal old