Android - SIP 协议
SIP 代表(会话发起协议)。 它是一种协议,可让应用程序轻松设置呼出和呼入语音呼叫,而无需直接管理会话、传输级通信或音频记录或回放。
SIP 应用程序
SIP 的一些常见应用是。
- 视频会议
- 即时消息
开发要求
以下是开发 SIP 应用程序的要求 −
- Android 操作系统必须为 2.3 或更高版本
- 您必须有数据连接或 WIFI
- 您必须拥有 SIP 帐户才能使用此服务。
SIP 类
以下是 Android SIP API 中包含的类的摘要:
序号 | 类 & 描述 |
---|---|
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 或用户代理服务器是那些获取由 UAC 生成的请求的系统。 UAS 处理这些请求,然后根据请求相应地生成响应。
SipManager
SipManager 是一个用于 SIP 任务的 Android API,例如发起 SIP 连接,并提供对相关 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 的 VOIP API,则返回 true |
7 |
takeAudioCall(Intent incomingCallIntent, SipAudioCall.Listener listener) 创建一个 SipAudioCall 来接听来电 |
8 |
unregister(SipProfile localProfile, SipRegistrationListener listener) 手动从相应的 SIP 提供商注销配置文件以停止接收更多呼叫 |