提供对会话发起协议(SIP)功能的访问,例如使用SIP拨打和应答VOIP呼叫。
有关更多信息,请参阅 Session Initiation Protocol开发人员指南。
要开始,您需要通过调用 newInstance()
来获得 SipManager
的实例。
使用SipManager
,您可以使用makeAudioCall()
和takeAudioCall()
启动SIP音频呼叫。 这两种方法都需要一个SipAudioCall.Listener
,当通话状态发生变化时(例如,当呼叫正在振铃,建立或结束时)接收回叫。
两个makeAudioCall()
需要两个SipProfile
对象,分别代表本地设备和对等设备。 你可以创建一个SipProfile
使用SipProfile.Builder
子类。
一旦你有了一个 SipAudioCall
,你就可以对该实例执行SIP音频呼叫操作,例如拨打电话,接听电话,静音,打开扬声器模式,发送DTMF铃声等等。
如果您想创建通用SIP连接(例如视频呼叫或其他),则可以使用open()
从SipManager
创建SIP连接。 但是,如果您只想创建音频SIP呼叫,则应使用SipAudioCall
类,如上所述。
注意:并非所有基于Android的设备都支持SIP的VOIP功能。 执行任何SIP活动之前,你应该叫isVoipSupported()
,以验证该设备支持VOIP通话和isApiSupported()
,以验证该设备支持SIP的API。 您的应用程序还必须请求INTERNET
和USE_SIP
权限才能使用SIP API。
SipRegistrationListener | SIP注册事件的监听器。 |
SipAudioCall | 通过SIP处理互联网音频呼叫。 |
SipAudioCall.Listener | 收听与SIP呼叫相关的事件,例如收到呼叫(“正在响铃”)或呼出(“正在呼叫”)时。 |
SipErrorCode | 定义SIP操作期间返回的错误代码。 |
SipManager | 为SIP任务提供API,例如发起SIP连接,并提供对相关SIP服务的访问。 |
SipProfile | 定义SIP配置文件,包括SIP帐户,域和服务器信息。 |
SipProfile.Builder | 助手类创建一个 SipProfile 。 |
SipSession | 表示与SIP对话相关联的SIP会话或不在对话内的独立事务。 |
SipSession.Listener | 监听器用于与SIP会话相关的事件,例如会话正在注册(“正在注册”)或正在呼出(“正在呼叫”)时。 |
SipSession.State | 定义SIP会话状态,如“注册”,“拨出电话”和“通话中”。 |
SipException | 表示一般的SIP相关异常。 |