基于SIP消息的IM。
实例属性
direction
指示谁发送了MESSAGE的字符串。当MESSAGE由远程对等方发送时,可能的值为“incoming”;当MESSAGE由本地用户发送时,值为“outgoing”。
local_identity
JsSIP.NameAddrHeader实例,指示本地标识。当方向为“outgoing”时,它与MESSAGE From标头值相对应,当方向为为“incoming”时,与To标头值对应
remote_identity
JsSIP.NameAddrHeader实例,指示远程标识。当方向为“outgoing”时,它与MESSAGE-To标头值相对应,当方向为为“incoming”时,与From标头值相对应
实例方法
send(target, body, options=null)
通过WebSocket连接发送消息。此方法仅适用于传出消息。
参数(target =>消息的目的地。表示目标用户名或完整SIP URI的字符串。body =>消息内容。表示消息正文的字符串。options =>额外参数配置)
options对象中的字段(contentType =>可选字符串,表示正文的内容类型。默认text/plain。eventHandlers =>要注册到每个消息事件的事件处理程序的可选对象。为要收到通知的每个事件定义一个事件处理程序。extraHeaders =>具有用于MESSAGE请求的额外SIP头的字符串数组)
var text = 'Hello Bob!';
var eventHandlers = {
'succeeded': function(e){ /* Your code here */ },
'failed': function(e){ /* Your code here */ };
};
var options = {
'eventHandlers': eventHandlers
};
coolPhone.sendMessage('sip:bob@example.com', text, options);
accept(options)
积极响应传入的消息。向发件人指示邮件已送达目的地。此方法仅适用于传入消息。
参数options对象(extraHeaders =>具有用于MESSAGE请求的额外SIP标头的字符串数组。body =>表示SIP消息正文的字符串,注意:如果设置了此参数,则必须在“extraHeader”字段中设置相应的“Content Type”标头字段。)
reject
(options)
对传入的MESSAGE做出负面响应。指示发件人它尚未送达目标。响应代码和原因决定了拒绝原因。此方法仅适用于传入消息。
参数options对象(extraHeaders =>具有用于MESSAGE请求的额外SIP标头的字符串数组。status_code =>300到699之间的数字,表示SIP响应代码。reason_phrase =>表示SIP原因短语的字符串。body =>表示SIP消息正文的字符串,注意:如果设置了此参数,则必须在“extraHeader”字段中设置相应的“Content Type”标头字段。)
事件
JsSIP.Message类定义了一系列事件。它们中的每一个都允许注册回调函数,以便用户为每个给定的刺激执行一个处理程序。
succeeded
收到对MESSAGE请求的最终肯定响应时激发。
data数据字段(originator =>“remote”字符串。远程对等方对SIP MESSAGE做出了积极响应。response =>接收到的2XX响应的JsSIP.IncomingResponse实例)
failed
如果未收到对发送的MESSAGE的最终肯定响应,则激发。
data数据字段(originator =>“remote”/“system”字符串。MESSAGE故障来自何处。response =>JsSIP.IncomingResponse实例为remote的远程发件人值生成失败,否则为null。cause =>参考状态表)