Android SIP协议


SIP代表(会话启动协议)。它是一种协议,可让应用程序轻松设置传出和传入语音呼叫,而无需直接管理会话,传输级通信或音频记录或回放。

应用

SIP的一些常见应用是。

  • 视频会议
  • 即时通讯

要求

以下是开发SIP应用程序的要求

  • Android操作系统必须为2.3或更高版本
  • 您必须拥有数据连接或WIFI
  • 您必须拥有SIP帐户才能使用此服务。

SIP类

以下是Android SIP API中包含的类的摘要:

序号 Class & description
1

SipAudioCall

通过SIP处理Internet音频呼叫

2

SipErrorCode

定义SIP操作期间返回的错误代码

3

SipManager

为SIP任务提供API,例如启动SIP连接,并提供对相关SIP服务的访问

4

SipProfile

定义SIP配置文件,包括SIP帐户,域和服务器信息

5

SipSession中

表示与SIP对话框关联的SIP会话或不在对话框内的独立事务

SIP的功能

SIP具有以下主要功能。

  • SIP允许建立用户位置
  • SIP提供了一种呼叫管理机制
  • SIP提供功能协商,因此呼叫中的所有各方都可以同意其中支持的功能

SIP的组成部分

SIP有两个主要组件,如下所示。

  • 用户代理客户端(UAC)
  • 用户代理服务器(UAS)

UAC

UAC或用户代理客户端是生成请求并将这些请求发送到服务器的最终用户。这些请求由在其系统上运行的客户端应用程序生成。

UAS

UAS或User Agent Server是获取UAC生成请求的系统。UAS处理这些请求,然后根据请求相应地生成响应。

SipManager

SipManager是用于SIP任务的android API,例如启动SIP连接,并提供对相关SIP服务的访问。此类是任何SIP操作的起点。您可以使用newInstance()获取它的实例。

SipManager具有许多用于管理SIP任务的功能。下面列出了一些功能。

序号 Class & description
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的VOIP API,则返回true

7

takeAudioCall(Intent incomingCallIntent,SipAudioCall.Listener listener)

创建一个SipAudioCall来接听来电

8

unregister(SipProfile localProfile,SipRegistrationListener监听器)

从相应的SIP提供程序手动取消注册配置文件以停止接收进一步的呼叫