Android-SIPプロトコル
SIPは(Session Initiation Protocol)の略です。これは、セッション、トランスポートレベルの通信、またはオーディオの録音や再生を直接管理しなくても、アプリケーションが音声通話の発信と着信を簡単に設定できるようにするプロトコルです。
アプリケーション
SIPの一般的なアプリケーションのいくつかは次のとおりです。
- ビデオ会議
- インスタントメッセージング
要件
SIPアプリケーションを開発するための要件は次のとおりです-
- AndroidOSは2.3以上である必要があります
- データ接続またはWIFIが必要です
- このサービスを使用するには、SIPアカウントが必要です。
SIPクラス
Android SIPAPIに含まれているクラスの概要は次のとおりです。
シニア番号 | クラスと説明 |
---|---|
1 |
SipAudioCall SIPを介したインターネット音声通話を処理します |
2 |
SipErrorCode SIPアクション中に返されるエラーコードを定義します |
3 |
SipManager SIP接続の開始などのSIPタスク用のAPIを提供し、関連するSIPサービスへのアクセスを提供します |
4 |
SipProfile SIPアカウント、ドメイン、サーバー情報を含むSIPプロファイルを定義します |
5 |
SipSession SIPダイアログまたはダイアログ内にないスタンドアロントランザクションに関連付けられているSIPセッションを表します |
SIPの機能
SIPには次の主要な機能があります。
- SIPはユーザーの場所の確立を可能にします
- SIPは、呼管理のメカニズムを提供します
- SIPは機能ネゴシエーションを提供するため、通話のすべての当事者は、それらの間でサポートされている機能に同意できます。
SIPのコンポーネント
SIPには、以下に示す2つの主要なコンポーネントがあります。
- ユーザーエージェントクライアント(UAC)
- ユーザーエージェントサーバー(UAS)
UAC
UACまたはユーザーエージェントクライアントは、要求を生成し、それらの要求をサーバーに送信するエンドユーザーです。これらの要求は、システムで実行されているクライアントアプリケーションによって生成されます。
UAS
UASまたはユーザーエージェントサーバーは、UACによって生成された要求を取得するシステムです。UASはそれらの要求を処理し、要求に応じてそれに応じて応答を生成します。
SipManager
SipManagerは、SIP接続の開始などのSIPタスク用のAndroid APIであり、関連するSIPサービスへのアクセスを提供します。このクラスは、SIPアクションの開始点です。newInstance()を使用してそのインスタンスを取得できます。
SipManagerには、SIPタスクを管理するための多くの機能があります。いくつかの機能を以下に示します。
シニア番号 | クラスと説明 |
---|---|
1 |
close(String localProfileUri) 指定されたプロファイルを閉じて、電話をかけたり受けたりしないようにします |
2 |
getCallId(Intent incomingCallIntent) 指定された着信コールブロードキャストインテントからコールIDを取得します |
3 |
isOpened(String localProfileUri) 指定されたプロファイルが、電話をかけたり受けたりするためにSIPサービスで開かれているかどうかを確認します |
4 |
isSipWifiOnly(Context context) SIPがWIFIでのみ利用可能な場合はtrueを返します |
5 |
isRegistered(String localProfileUri) SIPサービスが、コールを受信するためにプロファイルをSIPプロバイダー(プロファイルで指定)に正常に登録したかどうかを確認します |
6 |
isVoipSupported(Context context) システムがSIPベースのVOIPAPIをサポートしている場合はtrueを返します |
7 |
takeAudioCall(Intent incomingCallIntent, SipAudioCall.Listener listener) 着信を受信するためのSipAudioCallを作成します |
8 |
unregister(SipProfile localProfile, SipRegistrationListener listener) 対応するSIPプロバイダーからプロファイルを手動で登録解除して、それ以上の呼び出しの受信を停止します |