SIP - 概要

9月, 2024

概要

セッション開始プロトコル (SIP) は、セキュリティ製品のシステム統合用に追加のインターフェースを提供します。SIPは電気通信業界で広く採用されている規格であり、相互接続や日常的な使用における柔軟性を高めます。標準化されたオープンなインターフェースは、システムインテグレーター、開発者、エンドユーザーからリクエストを受けたもので、製品をさまざまなシステムで使用できるため、その価値が高まります。SIP対応のAxis製品は、セキュリティと通信ソリューションの両面での使用を想定しています。

SIPシステムの構築は簡単です。ただし、複雑なネットワークトポロジーの場合、またはセキュリティ要件や通話対応機能の追加が必要な場合は、SIPサーバーとNATトラバーサル技術を使用する必要があります。これには、設置者や技術者のより高度な専門知識を要します。

はじめに

Session Initiation Protocol (SIP) は、異なる当事者間でマルチメディアセッションを開始、維持、終了するために使用されます。これらのセッションは通常、音声で構成されますが、映像が含まれる場合もあります。SIPは、Voice over IP (VoIP) アプリケーションやユニファイドコミュニケーション (UC) プラットフォームで使用される標準的なプロトコルです (セクション3参照)。

SIPによって、Axisネットワーク製品を接続、統合、および制御するための方法が構成されます。この方法は、すべてのAxisネットワークスピーカー、すべてのAxisネットワークインターコム、および一部のAxisシステムデバイスとAxisカメラでサポートされています。

仕組み

SIPを使用して通信を行うには、少なくとも2つのSIPクライアントが必要です。SIPクライアントには、SIPハードフォン、ソフトフォン、モバイルクライアント、またはSIP対応のAxis製品を使用できます。

各SIPクライアントには、独自のSIPアドレスが割り当てられます。SIPアドレスは、電子メールアドレスに似ていますが、接頭語として「sip:」が付いています。

例えば、sip:bob@axis.com [sip:<ユーザー@]<プロバイダー>のような形式です。この識別子は、複数のデバイスで使用できるSIMカードにリンクされた電話番号と同じように、さまざまなデバイスで使用することが可能です。

Peer-to-Peerセットアップ - シンプルな手段

SIPシステムには、さまざまな形態があります。最もシンプルなシステム形態は、互いに直接通信する2台以上のSIPユーザーエージェント (UA) で構成されます。これはPeer-to-Peerセットアップ、ダイレクトコールセットアップ、ローカルセットアップなどと呼ばれます。この場合の典型的なSIPアドレスは、sip:<local-ip>のような形式になります (例: sip:192.168.0.90)。

例:シンプルなセットアップでは、Axis製品 (1、2)は、サーバーやPBXを必要とせず、同じネットワーク上のその他のSIPデバイス (3) との音声通信や映像通信の設定にSIPを使用することができます。

同時に、その他のAxisデバイスと同じようにオープンなAPI、VAPIXやONVIFプロファイルSを使用してビデオ管理システム (4) へ接続することが可能です。

ローカルネットワーク上のあるUAから別のUAにPeer-to-Peer通話を行うために必要なのは、ユニットのIPアドレスを含むSIPアドレスのみです。

SIPサーバー (PBX) の使用 - さらなる機能の追加

SIPベースのVoIPインフラストラクチャーは、非常に優れた拡張性を備えています。次のステップアップで、SIPサーバー、またはPrivate Branch Exchange (PBX) を中央ハブとして使用します。SIP UAはサーバーのレジストラに登録され、PBXで内線番号をダイヤルするだけで他のUAに接続できるようになります。

この場合の典型的なSIPアドレスには、sip:<ユーザー>@<ドメイン>という形式が使用されます。あるいは、sip:<ユーザー>@<レジストラIP> (例: sip:6007@ mysipserver.net) のような形式である場合もあります。PBXは従来の交換器のような機能を果たし、クライアントの現在のステータスを表示したり、通話の転送、ボイスメール、リダイレクトなどを可能にしたりします。

SIPサーバーは通常、プロキシ、レジストラ、リダイレクトの機能を備えています。プロキシは通話をルーティングし、着信した通話に追加のロジックを提供します。レジストラは、登録リクエストを受け付け、取り扱うドメインのロケーションサービスとして機能します。リダイレクトサーバーは、代替SIPアドレスに接続するようにクライアントをリダイレクトします。

SIPサーバーは、ローカルエンティティとして、またはオフサイトに設置することができます。オンプレミスまたはクラウドでホストできます。サイト間でSIP通話を行う場合、通話は通常、まず一連のSIPプロキシーを通じてルーティングされます。これらのプロキシーは、呼び出すSIPアドレスの場所を照会します。

例:Axis製品 (1、2) は、ローカルまたはオフサイトでSIPサーバー (3) に接続できます。サーバーは、ローカルネットワーク上またはインターネット上のSIPデバイス間の通話の設定と終了を処理します。この設定では、デバイスのSIPアドレスは、それぞれのIPアドレスから独立しており、SIPサーバーはSIPサーバーに登録されているデバイスへのアクセスを可能にします。

SIPサーバーでデバイスを使用するには、特定のユーザーIDとパスワードでサーバーにアカウントを作成する必要があります。デバイスをサーバーに登録するには、サーバーのアドレス、ユーザーID、パスワードを入力して、デバイスにアカウントをセットアップする必要があります。

SIPトランクの使用 - 電話番号の割り当て

SIPトランクを使えば、SIP UAを従来の電話網 (PSTN) に切り替えることができます。これにより、SIP UAに通常の電話番号を割り当てることもできます。

クラウドベースのSIPトランキングは、インターネットを活用して通話やその他の通信サービスを提供する最新のアプローチ方式です。この方式では物理的な電話回線が不要なため、クラウドソリューションやVoIPシステムとの統合が容易に行えます。

例:サービスプロバイダーでSIPトランク (1) を使用すると、デバイス (2、3) に外線の電話番号を割り当てることができます。これにより、ネットワークスピーカーやネットワークインターコムと一般の電話機 (4) との間で通話できるようになります。

SIPトランクと使用する場合、デバイスは上記の方法でサーバーに接続します。

ユニファイドコミュニケーション (UC)

ユニファイドコミュニケーション (UC) とは、さまざまな通信ツールとテクノロジを1つのシステムに統合することです。SIP は、音声、ビデオ、インスタントメッセージ送信、プレゼンス情報などのさまざまな通信チャネル間のシームレスな通信を可能にし、UCにおいて重要な役割を果たします。SIPを活用することで、組織はコラボレーションを強化し、生産性を向上させ、複数の装置やプラットフォームで一貫したユーザーエクスペリエンスを提供するユニファイドコミュニケーション環境を構築できます。

UC は、オンプレミスソリューションでローカルに提供することも、クラウドソリューション (サービスとしての UC - UCaaS) 経由で提供することもできます。クラウドソリューションのサービスプロバイダーの例としては、Cisco Webex、Microsoft Teams、Zoomなどがあります。

通常のSIP通話の内部

SIP呼び出しを行うために、一連のステップが実行されて、呼び出しの開始側と受信側のUA間で情報が交換されます。

呼び出しを開始するとき、開始側UA (1) が要求またはINVITE (招待) を受信側UA (2) のSIPアドレスに送信します。INVITEには、利用可能なメディア形式と呼び出しの開始側の連絡先情報が記述された、Session Description Protocol (SDP/セッション記述プロトコル) の本体が含まれます。

INVITEを受信すると、受信者は100 TRYING応答を返して受信したことを知らせます。

次に、受信側のUAが、SDPに記述されたメディア形式を自身が使用する形式と比較します。共通の形式が確定できたら、UAは着信呼び出しがあり、暫定応答180 RINGINGを開始側のUAに送信することを受信者に通知します。

受信者が呼び出しに出る場合、接続が確立されたことを確認するために200 OK応答が開始側に送信されます。この応答には、使用するメディア形式とメディアストリームの送信先を送信側に知らせるネゴシエーション済みのSDPが含まれます。

これで、ネゴシエーション済みのSDPに基づくパラメーターで、Real-time Transport Protocol (RTP) を使用してネゴシエーション済みのメディアストリームが構成され、メディアが両者の間で直接送信されます。開始側は、SIPを介して確認応答 (ACK) を送信して、合意に従ってメディアストリームを構成したことを知らせます。SIPセッションはまだアクティブですが、メディアの送信には関与しません。

当事者の一方が通話を終了することを決定すると、新しいリクエスト (BYE) が送信されます。BYEを受信すると、受信側は200 OKでこれを確認し、RTPメディアストリームが停止します。

SDP – 使用形式のネゴシエーション

Session Description Protocol (SDP/セッション記述プロトコル) は、ストリーミングメディアの初期化パラメーターを記述する形式です。SDPの本体には、クライアントがサポートするメディア形式 (すなわち、コーデック) と、クライアントが好むコーデックの選択順序に関する情報が含まれます。

SIP通話に使用される代表的な音声コーデックは、PCMU、PCMA、G.722、G.726、L16です。重複する複数のコーデックが開始側と受信側の両方でサポートされている場合、通常、受信側で最も優先度の高いコーデックが選択されます。コーデックの選択は最終的に帯域幅に影響するため、他のSIP UAとの互換性要件を満たし、ユースケースに適した帯域幅要件を維持するために、慎重に考慮する必要があります。たとえば、すべてのクライアントがL16をサポートしているローカルネットワークでは、非圧縮オーディオの選択が有効です。ただし、携帯電話からインターネット経由でSIP UAにアクセスする場合は、PCMUが適しています。

複雑なSIPインフラストラクチャーでの呼び出し

さらに複雑なSIPインフラストラクチャーの設定では、開始方法が少し異なります。SIPセッションはホップごとに段階的に構成されます。しかし、SIPセッションが設定されると、通常、トラフィックはルーティングされず、前の例と同様に当事者間で直接やり取りされます。

複雑なSIPインフラストラクチャーでの呼び出しの設定。メディアRTPストリーム (1) は、SIPセッションが開始側 (2) と受信側 (3) の間で設定されると、当事者間で直接やり取りされます。

DTMF – SIP通話でのコマンドの送信

DTMF (Dual-Tone Multiple-Frequency) とは、電話回線で情報を送信するために使用されるフォーマットです。DTMF信号はSIP通話で送信でき、SIPデバイスに指示を与えるために使用することができます。DTMFの文字範囲は、0~9の数字、A~Dの文字、*、#で構成されています。

たとえば、SIP対応インターコムへの通話では、電話のキーパッドからDTMF文字「5」を送信し、受信機がドアのロック解除のコマンドとして解釈するように設定することができます。

SIP通話でDTMFを送信する方法には、次の3種類があります。

  • 信号が音声ストリームにインターリーブされた音声パルスである、従来のインバンド方式。ただし、これは信頼性が低く、非圧縮コーデックでのみ機能します。

  • DTMFの文字がシグナリングストリームでSIPメッセージで送信される、SIP INFO方式。これは非常に信頼性の高いアウトオブバンド方式ですが、サポートが限られています。

  • DTMF文字をRTPの1パケットとして符号化し、アウトオブバンドで送信するRTP方式 (RFC2833)。デファクトスタンダードとして、幅広くサポートされています。

複雑な環境とセキュリティの向上

企業ネットワークなどの複雑なネットワーク環境では、SIPを使用する際に困難が生じることがあります。また、暗号化を使用したい場合も同様です。

NATトラバーサル - 複雑なネットワークにおける接続の確立

より複雑なネットワーク環境では、ネットワークアドレス変換 (NAT) を利用することが必要な場合があります。NATは、プライベートなローカルネットワーク上にあるIPアドレスをグローバルIPアドレスに変換する方法です。これは、プライベートサブネットワーク内のすべてのユニットが、192.168.1.XXXのような共通のIPアドレスの接頭語を共有することを意味します。これは、相互に通信するときに使用されるアドレスです。別のネットワークと通信するとき、このアドレスはルーターのパブリックアドレスに変換され、ポートマッピングで補足されます。

  • 192.168.1.24 => 184.13.12.33:44221

  • 192.168.1.121 => 184.13.12.33:24325 など。

変換テーブルはルーターに保存されるため、ほとんどの場合、外部ユーザーがNATされたデバイスのアドレスを知ることはできません。SIPで通信を行う場合、以下のいずれかの問題が発生する可能性があります。

  • セッションの開始、更新、終了ができない、つまり、通話の発信、保留、終了ができない。

  • メディアストリームがない。

  • 一方向のメディアストリーム。

NATトラバーサル: NATは、各パケットの送信元アドレスを、異なる送信元ポートを持つパブリックIPアドレスに変更します。

これらの問題を解決するために、SIPは次の3つのNAT技術をサポートしています。

  • STUN – 既知の場所にあるサーバーに、ユニットのパブリックアドレスを問い合わせる方式です。STUNサーバーは、リクエストに使用されたパブリックIPとポートマッピングを返します。この結果はシグナリングやメディアの転送に使用されます。これはほとんどの状況で機能します。

  • TURN – TURNを使用する場合、すべてのトラフィックは既知のサーバーを経由して中継されます。このため、TURNサーバーをホストするマシンは、サービスを利用する各クライアントのすべてのメディアをルーティングするのに十分な処理能力が必要で、追加のオーバーヘッドが発生します。これはより多くのコストを要するソリューションですが、STUNが機能しない環境でも機能します。

  • ICE – ICEプロトコルは、SIP UAに関連するすべてのIPアドレスを収集し、どのIPアドレスを使用すべきかの計算を試みます。開始側と受信側の両方のSIP UAでSTUNとTURNと組み合わせて使用すると、SIPコールの確立に成功する可能性が高くなります。

SIPでの暗号化の使用

SIPシグナリングトラフィックは通常、コネクションレス型のUDPプロトコルで送信されます。また、TCPで送信することも可能で、その場合はトランスポート層セキュリティ (TLS) で暗号化することもできます。

通話に安全な接続が使用されることを保証するため、SIPプロトコルはセキュアSIP (SIPS) と呼ばれるアドレス方式を利用します。これには、トランスポートモードがTLSに設定されている必要があります。通話を発信する際、ダイヤルされたSIPアドレスには、「sip」ではなく「sips:」という接頭語が付きます (例: sip:bob@biloxi.ex.com の代わりに sips:bob@biloxi.ex.com)。これは、各ホップがTLSで保護されることを義務付け、受信側にも同じセキュリティレベルを使用することを要求します。TLSを使用しているときに接頭語「sip」が付いたアドレスを呼び出すと、最初のホップのみが暗号化されます。

最高レベルのセキュリティを確保するには、次のような対策を講じる必要があります。

  • TLSにトランスポートモードを設定する。

  • かならず接頭語「sips」を使用する。

  • DTMFトーンは暗号化されたチャンネルで送信されるため、DTMFトーンの送信にはSIP INFOを使用する。

すべてのクライアントがセキュアSIPに対応しているわけではありません。

SIP用語

APIアプリケーションプログラミングインターフェース
コーデック符号器 (Coder)/復号器 (Decoder)
ハードフォン 通話を発信するハードウェア、すなわち電話機
ICE Interactive Connectivity Establishment (双方向接続性確立)
IP インターネットプロトコル
モバイルクライアント 通話を発信するモバイルデバイスのソフトウェアプログラム
NAT ネットワークアドレス変換
PBX 構内交換機
PSTN 公衆交換電話網、つまり通常の電話網
RTP リアルタイム・トランスポート・プロトコル
SDP セッション記述プロトコル
SIM 加入者識別モジュール
SIP セッション開始プロトコル
SIPサーバー IP PBXの主要コンポーネント。コールセットアップとコールティアダウンを処理します。SIPプロキシまたはレジストラとも呼ばれます。
SIPS セキュアSIP
SIP URI (SIPアドレス) ユニフォーム・リソース・アイデンティファイア。SIP UAの一意のアドレス。
ソフトフォン通話を発信するソフトウェアプログラム
STUN NATのためのセッショントラバーサルユーティリティ
TCP 伝送制御プロトコル
TLS トランスポート層セキュリティ
TURN NATに関するリレーを使用したトラバーサル
UA ユーザーエージェント。通信セッションの両エンドポイント。
UC ユニファイドコミュニケーション
UDP ユーザーデータグラムプロトコル
VoIP Voice over IP