公開日:2022.06.16
更新日:2024.07.31
![インターネット通話を実現する「VoIP」と「SIP」とは?初心者にもわかりやすく解説](https://6881002.fs1.hubspotusercontent-na1.net/hubfs/6881002/kwcplus/blog/What-are_VoIP_and%20_SIP_that-realize-Internet-call.webp)
まとめ
公開日:2022.06.16
更新日:2024.07.31
KDDIウェブコミュニケーションズ
インターネットを介して音声通話を実現するための技術が急速に広がった昨今、「VoIP」や「SIP」という言葉が広く使われるようになりました。しかしIT業界に入ったばかりの方の中には、これらの用語について「明確に違いを説明できない……」という方もいるのではないでしょうか。
この記事では、インターネット通話の中心的な技術である「VoIP」と「SIP」について、それぞれの仕組みと違いを詳しく紹介します。
VoIPとSIPは、多くのシーンで似た意味の用語として使われています。まずは2つの用語の違いについて、それぞれの意味と用途を解説します。
VoIPは「Voice over Internet Protocol」の略称であり、IPネットワークを利用して音声通話を実現するための技術の総称です。音声通話を実現するために、複数のプロトコルを組み合わせて利用することで成り立っています。
VoIPによる音声通話では、音声データを一定の決まりにのっとって分割して転送するように定められています。それらの仕組みは一つひとつ、より詳細に定められたプロトコルの採用により実現します。
SIPは「Session Initiation Protocol」の略称で、IPネットワークを利用した通話の相手と「呼制御」と呼ばれる機能でつながるための通信プロトコルです。
呼制御とはつまり、電話の受発信を管理する機能のことを言います。インターネットを介した音声通話における、発信・終話・保留・再開などの処理が、このSIPにより実現しているのです。この仕組みは「シグナリング」とも呼ばれています。
IP電話のアプリケーションにおける呼制御プロトコルには、SIP以外にも「H.323」などが多く使われてきました。しかし拡張性や汎用性の高さから、現在ではSIPの利用が主流となっています。
SIPはVoIPと同じような意図で利用される用語ですが、あくまで「VoIPを構成するいちプロトコル」にすぎません。VoIPによる音声通話を実現するためには、音声データを圧縮して転送できる単位に分割するプロトコルや、分割したデータを送受信するプロトコルなど、SIPの他にも複数の種類のプロトコルが必要になります。
SIPは大きく「SIP User Agent」と「SIPサーバー」の2つに分けられ、それぞれに音声通話を制御するための機能が備わっています。ここではSIPを構成する要素について詳しくご紹介します。
概要 | SIPネットワークの端末デバイス |
---|---|
役割 | 電話の発信および受信を担当 |
SIP UAはSIPネットワークにおける端末デバイスで、SIP電話端末やPC、PDAで動作するSIPクライアントソフトウェア、ゲートウェイなどが例として挙げられます。
リクエストを開始する機能モジュール「UAC(User Agent Client)」と、受け取ったリクエストに対するレスポンスを生成する機能モジュール「UAS(User Agent Server)」で構成されています。
SIPサーバーはその名の通り「SIPプロトコル」を利用しているサーバーのことです。インターネットを利用して通話する端末同士をつなげる役割を担っており、音声をデジタル化してやりとりする仕組みを実現するうえで欠かせないものとなっています。
具体的にどのような機能が備わっているのか見ていきましょう。
概要 | SIP通信を管理している、SIPサーバー機能の一つ |
---|---|
役割 | UAクライアントからの通信を受信し、転送する |
SIP UAから発信リクエストを受信すると、プロキシサーバーは後述するロケーションサーバーに通話相手への接続先情報を問い合わせます。そのうえでロケーションサーバーからのレスポンスをもとに、通話相手のサーバーやUAサーバーに直接通信を転送します。
プロキシサーバーはUAクライアントに代わってデータを代理送信するため、通話相手のUAサーバーからはプロキシサーバーと通信しているように見えています。
概要 | SIP通信を管理している、SIPサーバー機能の一つ |
---|---|
役割 | UAが送信した登録要求をキャッチし、ロケーションサーバーに登録する |
UAは起動するとすぐに自分自身の登録要求リクエストをロケーションサーバーへ送信します。レジストラサーバーの役割は、UAが送信した登録要求をキャッチし、ロケーションサーバーに登録することです。IPネットワーク内のUAは、すべてロケーションサーバーに登録されている必要があります。
UAはロケーションサーバーに登録されて初めて、他のUAと通信できるようになります。
概要 | SIP通信を管理している、SIPサーバー機能の一つ |
---|---|
役割 | UAの位置情報(通信経路やプロキシサーバーの情報など)を保管 |
プロキシサーバーから通話相手のロケーションに対する問い合わせを受けると、ロケーションサーバーは登録された情報からメッセージの送信先を決定して返答します。
ロケーションサーバーはレジストラサーバーと合わせて一つの機能とみなせるため、両者をまとめてレジストラサーバーと呼ぶケースもあります。
概要 | SIP通信を管理している、SIPサーバー機能の一つ |
---|---|
役割 | SIPリクエストに対し、代わりに相手のアドレスを探索する |
SIPサーバーが管理するUAが増えるにつれて、プロキシサーバーの代理送信による通信量も増えます。それにより、SIPサーバーへの負担が見込まれます。
そこで大規模ネットワークでは、リダイレクトサーバーを設置して「代理応答ではなくそのまま転送する」ことで、SIPサーバーの負担を減らすように工夫しています。
続いては、VoIPによる音声データの送受信がどのように行われているかを紹介します。
まずは音声情報をIPネットワークで送受信できるよう、IPパケットへ変換します。
具体的には音声情報を圧縮した後、デジタルデータに変換します。その上で一定の規則に基づいてデータを分割し、順次通話相手に転送します。
IPパケットに変換された音声データは、インターネットを通じて通話相手に送信されます。
ちなみにIPパケットの送信ではリアルタイムの再生を重要視しているため、UDP/IP通信の利用によるデータの欠損や損失は一定程度許容されています。
通話相手に届いたIPパケットはそのままでは聞けないため、届くごとに元通りの電気信号に復元されます。
元通りに復元するためには、音声データをIPパケットに変換するときに利用した方式と同じもので復元する必要があります。
ちなみに音声データの変換と復元を行う機能を「コーデック」と呼びます。送受信するデータの中で、変換時にどの方式を利用したかを通知できるようになっています。
電気信号まで復元された音声データは音声信号に変換されます。
専用のIP電話機には変換する機能が備わっている場合もありますが、家庭用電話機など変換機能を持たない端末を利用する場合は、VoIPゲートウェイを設置して変換します。
IP電話のプロトコルとして普及が進むSIPですが、今後に向けた課題も出てきています。
これまでVoIPを利用した音声通話は「企業オフィス内のプライベートなIPネットワーク内で利用するシステムである」として、SIPサーバーと電話機がセットで開発される傾向にありました。VoIPシステムを開発するベンダーごとに創意工夫を重ね、本来のプロトコルに対して独自拡張なども多く実装されています。
このためベンダーごとの仕様の違いが大きく、異なるベンダーのシステム同士の相互接続は保証されていないのが実情です。
SIP通信は、企業のネットワークでよく利用されている「NAT」との相性がよくないという特徴があります。
SIPサーバーでは通話相手の情報をロケーションサーバーに保存して管理しています。しかしNATは、SIPサーバーの知らないところでIPアドレスやポート番号を書き換えているのです。
そのため通信経路上にNATのルーターが存在すると、通話ができない・どちらか一方の音声しか送られないといった不具合が発生する場合があります。
Vonageは、電話やSMS・ビデオ・チャット・SNSなど、さまざまなコミュニケーションチャネルをWeb・モバイルアプリケーションやビジネスへ組み込めるクラウドAPIサービスです。自動電話発信や電話転送、対話型IVR、自動SMS通知や二要素認証など、多岐にわたるサービスを実現できます。
コミュニケーションに関わる機能を自社で1から開発するのには多大な工数がかかります。通信の暗号化といったセキュリティ対策など考慮せねばならない点も多く、そのために実装を諦めてしまう企業も少なくありません。
しかしVonage APIと連携すれば、それらの工数をすべてVonage側が担ってくれます。お客様側でのインフラ開発はもちろん、ネットワークの構築・維持コストも必要ありません。ただ数行のコードを書き加えるだけで、自社サービスをマルチチャネル化できるのです。
Vonage Voice APIは録音や音声認識、IVRなど、通話に必要なあらゆる機能をプログラムでコントロールできるAPIです。
世界中の電話番号を用いたPSTN(公衆回線網)やSIP、Web RTCでの発着信機能を利用できます。また日本国内を含む約80カ国の電話番号を提供しており、ダッシュボード上から簡単に番号取得のお申し込みが可能です。
料金は通話秒数に応じた従量課金制です。また通話の録音・保存や日本語での音声認識、テキストの読み上げなどは無料で利用できます。そのため、不要なコストをかけずに音声通話のコミュニケーションチャネルを自社サービスに連携させられます。
まとめ
この記事では、インターネットを介した通話を実現するために利用される「VoIP」と「SIP」について、それぞれの用語の意味と違いを紹介しました。
またSIPについては構成要素とそれぞれの役割についても紹介し、具体的なVoIP通信の流れを解説しました。
今後ますます普及することが見込まれるIP電話。ぜひ本記事を読んで、基本的な仕組みを理解する参考にしてみてくださいね。