android里面的voip(voice over internet protocol)网络通话基于sip(session initiation protocol)协议,关于voip和sip协议的了解,请感兴趣的读者参考其它相关文档,本文不做解释.
基于sip的voip网络通话基本过程是:(1),建立sip服务器,关于如何搭建sip服务器,请参考我的博客点击打开链接 (2)需要参与通话的所有客户端注册用户到sip服务器(3)一个客户端发起sip通话到另一个客户端,这个消息首先发到sip服务器,sip服务器收到消息后转发到目的客户端(4)目的客户端接收电话.
android已经集成了sip协议栈,并提供了相应的api给应用开放使用,开发者不需要了解具体的协议内容.
关于sip网络通话的主要类和描述入下表所示.
类/接口 |
描述 |
SipAudioCall | 通过SIP处理网络音频电话 |
SipAudioCall.Listener | 关于SIP电话的事件监听器,比如收到一个电话(on ringing)或者呼出一个电话(on calling) |
SipErrorCode | 定义在SIP活动中的错误代码 |
SipManager | 为SIP任务提供APIs,比如初始化一个SIP连接,提供相关SIP服务的访问。 |
SipProfile | 定义了SIP的相关属性,包含SIP账户、域名和服务器信息 |
SipProfile.Builder | 创建SipProfile的帮助类 |
SipSession |