「SIPメッセージング」の版間の差分
提供: VoIP-Info.jp
(→Asteriskでの実装) |
|||
2行目: | 2行目: | ||
=Asteriskでの実装= | =Asteriskでの実装= | ||
Asteriskは音声通話のみならずSIPメッセージの『交換』にも使える。 | Asteriskは音声通話のみならずSIPメッセージの『交換』にも使える。 | ||
+ | =SIP MESSAGE= | ||
+ | MESSAGE sip:1000@192.168.254.234 SIP/2.0 | ||
+ | Via: SIP/2.0/WSS 192.0.2.191;received=192.168.254.30;branch=z9hG4bK1314248 | ||
+ | To: <sip:1000@192.168.254.234> | ||
+ | From: "TAKAHASHI,Takao" <sip:phone33@192.168.254.234>;tag=7m8l4i50nj | ||
+ | CSeq: 1 MESSAGE | ||
+ | Call-ID: glia153j7er66kd35o0s | ||
+ | Max-Forwards: 70 | ||
+ | Supported: outbound | ||
+ | User-Agent: Browser Phone 0.3.27 (SIPJS - 0.20.0) Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 | ||
+ | Safari/537.36 | ||
+ | Content-Type: text/plain | ||
+ | Content-Length: 7 | ||
+ | Content-Type: text/plain | ||
+ | Content-Length: 7 | ||
+ | |||
+ | hoge | ||
+ | SIPのMESSAGEによるメッセージ例。 | ||
==チャネル== | ==チャネル== | ||
基本的にエンドポイント同士は通常のPJSIP/phone123のような形式で認識される。ただし接続した際のチャネルが異なり、音声パスではなく ast_message_queue となる。 | 基本的にエンドポイント同士は通常のPJSIP/phone123のような形式で認識される。ただし接続した際のチャネルが異なり、音声パスではなく ast_message_queue となる。 |
2024年10月30日 (水) 16:59時点における版
SIPメッセージで電話機等でメッセージを交換する方法。ブラウザ等を使えばチャット用にも使える。要するにSMSみたいなもん。
Asteriskでの実装
Asteriskは音声通話のみならずSIPメッセージの『交換』にも使える。
SIP MESSAGE
MESSAGE sip:1000@192.168.254.234 SIP/2.0 Via: SIP/2.0/WSS 192.0.2.191;received=192.168.254.30;branch=z9hG4bK1314248 To: <sip:1000@192.168.254.234> From: "TAKAHASHI,Takao" <sip:phone33@192.168.254.234>;tag=7m8l4i50nj CSeq: 1 MESSAGE Call-ID: glia153j7er66kd35o0s Max-Forwards: 70 Supported: outbound User-Agent: Browser Phone 0.3.27 (SIPJS - 0.20.0) Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Content-Type: text/plain Content-Length: 7 Content-Type: text/plain Content-Length: 7 hoge
SIPのMESSAGEによるメッセージ例。
チャネル
基本的にエンドポイント同士は通常のPJSIP/phone123のような形式で認識される。ただし接続した際のチャネルが異なり、音声パスではなく ast_message_queue となる。
${CHANNEL(name)} = Message/ast_msg_queue
SIPでメッセージを受け取ると上記のようなチャネル名となるので、これを判断することで音声通話ではなくSIPメッセージあると判断できる。
メッセージ本体
ファンクションMESSAGE()がメッセージ自体のハンドリングを行う。
MESSAGE(from) r/w
送信元
MESSAGE(to) r/w
送信先
MESSAGE(body) r/w
メッセージの実体
MESSAGE(custom_data) w/o
mark_all_outbound または clear_all_outbound を指定