1

У меня на столе ip-телефон Yealink, и я хочу удаленно управлять им, чтобы вместо этого можно было звонить со своего компьютера, а не набирать номера прямо на телефоне. Эта ссылка объясняет, как это сделать:

Как набрать или сделать звонок с помощью пульта дистанционного управления | Yealink Поддержка

Есть 2 способа сделать это. Один отправляет запрос http на телефон. И другой вариант, отправив сообщение уведомления SIP.

А) Отправка HTTP-запроса (Работает!)

  1. Сначала убедитесь, что телефон настроен на удаленные подключения.

  1. Тогда просто сделайте этот запрос wget

    wget --user admin --password PASSWORD_PHONE  http://IP_OF_PHONE/servlet?key=SPEAKER
    

После этого запроса на клавиатуре телефона нажата!


B) Отправка SIP-уведомления (НЕ работает)

Это опция, которую я хочу использовать, потому что я не хочу хранить имена пользователей и пароли. Также может измениться IP-адрес телефона. В любом случае, вот что я пробовал, и по какой-то причине я не могу заставить эту опцию работать:

  1. Я выполняю первый шаг, который я сделал для части (A), позволяя телефону управлять удаленно.

  2. Я подключаю телефон к серверу Asterisk и проверяю, подключен ли он.

  3. Теперь, когда подключен SIP-партнер Eduardo, мне нужно отправить ему сообщение SIP Notify с телом, содержащим ключ = SPEAKER.

  4. Я открываю /etc/asterisk/sip_notify.conf и добавляю следующий контекст:

    [test] Событие => Содержимое ACTION-URI => Ключ = SPEAKER

  5. Я перезагружаю звездочку, потому что я не знаю, как перезагрузить sip_notify.conf

    asterisk -rx "core restart gracefully"
    
  6. Затем на CLI звездочки я набираю следующую команду, чтобы отправить sip-уведомление:

    sip notify test Eduardo
    
  7. когда я запускаю эту команду, звездочка говорит: Sending NOTIFY of type 'test' to 'Eduardo' но телефон никогда не нажимает клавишу SPEAKER! Что я могу делать не так?

  8. Вот глоток, захваченный Wireshark!

  1. Даже если я следую указаниям, клавиша SPEAKER не нажимается! Что я могу делать не так?

Полезная информация:

1 ответ1

1

Попробовав весь день я смог разобраться! Мне не хватало заголовка типа контента!

В любом случае вот решение:

  1. Файл sip_notify.conf должен содержать:

    [test]
    Content-Type=>message/sipfrag
    Event=>ACTION-URI
    Content=>key=SPEAKER
    

    Строка Content-Type=>message/sipfrag очень важна!

  2. Перезапустите звездочку, чтобы sip_notify.conf перезагрузился

    звездочка -rx "перезагрузка ядра изящно"

  3. Теперь введите эту звездочку:

    sip notify test Eduardo
    

    где Eduardo - это SIP-партнер, которому вы хотите отправить ключ

  4. Список всех доступных ключей можно найти здесь:

    http://support.yealink.com/faq/faqInfo?id=173

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .