android sip协议通话代码实现
简介
android里面的VOIP网络通话基于sip(Session initiation protocol)协议;android已经集成了sip协议栈,并提供了相应的API给应用开放使用,开发者不需要了解具体的协议内容
基于sip的网络通话基本过程
建立SIP服务器,关于如何建立SIP服务器,请参考这篇文章
需要所有参与通话的客户端注册用户到SIP服务器
一个客户端发起SIP通话到另一个客户端,这个消息首先发到SIP服务器,sip服务器收到消息后转发到目的客户端
目的客户端接收电话
关于SIP网络通话的主要类和描述如下表所示:
类/接口 | 描述 |
---|---|
SipAudioCall | 通过SIP处理网络音频电话 |
SipAudioCall.Listener | 关于SIP电话的事件监听器,比如收到一个电话(on ringing)或者呼出一个电话(on calling) |
SipErrorCode | 定义在SIP活动中的错误代码 |
SipManager | 为SIP任务提供APIs,比如初始化一个SIP连接,提供相关SIP服务的访问。 |
SipProfile | 定义了SIP的相关属性,包含SIP账户、域名和服务器信息 |
SipProfile.Builder | 创建SipProfile的帮助类 |
SipSession | 代表一个SIP会话,跟SIP对话框或者一个没有对话框的独 |