本文译自:http://developer.android.com/guide/topics/connectivity/sip.html
Android提供支持会话发起协议(SIP)的API。这让你可以把基于SIP的互联网电话功能添加到你的应用程序中。Android包含了一个完整的SIP协议栈,并且集成了呼叫管理服务,这样应用程序可以容易的建立呼入和呼出的连接,而不需要去管理会话、传输层的通信、音频记录、回拨等操作。
要求和限制
以下是开发SIP应用程序的要求
1. 你必须要有一部运行Android2.3以上版本的移动设备;
2. SIP是运行在无线数据连接之上的,因此你的设备必须要有一个数据连接(如移动数据服务或Wi-Fi)。这就意味着你不能在AVD上测试---你只能在物理设备上测试。
3. 每个应用应用程序通信会话的参与者都必须要有一个SIP账号。有很多不同的SIP提供商提供SIP账号。
SIP API类和接口
以下是Android SIP API中所包含的类和一个接口(SipRegistrationListener)的概要:
类/接口 | 介绍 |
处理基于SIP的互联网音频呼叫。 | |
监听与SIP呼叫相关的事件,如呼叫被接入(“on ringing”)或呼出(“on calling”)时。 | |
定义SIP操作期间返回的错误代码。 | |
提供针对SIP任务的API,如发起SIP连接,并提供对相关SIP服务的访问。 | |
定义SIP配置,包括SIP账号、域名和服务器信息。 | |
创建SipProfile类型对象的辅助类。 | |
代表一个跟SIP对话框或没有对话框的独立事务相关联的SIP会话。 | |
监听与SIP会话相关的事件,如注册会话(“on registering”)或呼出(“on calling”)的时候。 | |
定义SIP会话的状态,如“registering”,“outgoing call”和“in call” | |
监听SIP注册事件的接口。 |