Можно ли программно отправлять SIP-уведомления на зарегистрированное SIP-устройство? - PullRequest
1 голос
/ 10 июля 2009

Можно ли программно создавать и отправлять SIP-пакеты на зарегистрированное SIP-устройство? Я хотел бы отправить уведомление SIP, как показано ниже:

      NOTIFY sip:alice@alice-phone.example.com SIP/2.0
      To: <sip:alice@example.com>;tag=78923
      From: <sip:alice@example.com>;tag=4442
      Date: Mon, 10 Jul 2000 04:28:53 GMT
      Contact: <sip:alice@vmail.example.com>
      Call-ID: 1349882@alice-phone.example.com
      CSeq: 31 NOTIFY
      Event: message-summary
      Subscription-State: active
      Content-Type: application/simple-message-summary
      Content-Length: 503

      Messages-Waiting: yes
      Message-Account: sip:alice@vmail.example.com
      Voice-Message: 4/8 (1/2)

Я хотел бы использовать Perl для отправки этой информации на SIP-устройство. Я новичок в мире SIP, поэтому мой вопрос может показаться неоднозначным. Но любая помощь по этому поводу будет очень признательна.

Спасибо.

Ответы [ 2 ]

6 голосов
/ 10 июля 2009

Да, конечно, это просто IP-пакет. Для Perl моей первой попыткой будет Net :: SIP от CPAN.

Или, если вы хотите сохранить простоту, посмотрите код в этом сообщении: http://archive.cert.uni -stuttgart.de / bugtraq / 2005/07 / msg00276.html

Чтобы соответствовать стандартам, вам необходимо обрабатывать ПОДПИСАТЬСЯ сообщения с ваших телефонов и отправлять УВЕДОМЛЕНИЯ только тем, кто подписан - но, как кажется, ваш пример взят непосредственно из RFC 3842, я думаю, вы уже это знаете. :)

0 голосов
/ 10 июля 2009

SIP - это текстовый протокол, который работает по IP, как и HTTP. Это позволяет написать клиент SIP практически на любом языке программирования. Конечно, гораздо проще, когда вы используете стек SIP. Предложение Мари выглядит хорошо для PHP. Мир Java, конечно, имеет несколько очень зрелых стеков SIP, например, JAIN . И C # тоже: смотри этот SO вопрос .

...