sipML5聊天功能实现

一、环境说明:在阅读sipML5的API文档时,发现它具有聊天的功能,于是在sipML5的源码中进行设定,实现了注册之后可以英文聊天(中文聊天需要在FreeSWITCh中进行设定)。

二、具体配置:

  1. 在call.htm 的html  部分添加聊天的控件,如下:

  <div id="IM">

     <label>对方帐号</label><input id="accountNum" /><br/>

     <input id="mesaage"> 

    <input type="button" id="btnSend" value="SendMessage" οnclick="sendMessage();"/>

     <br/>

    <label id="messageBox"></label>

   </div>

  2、在call.htm 的Javascript代码中添加发送和接受消息的函数,如下:

  //发送和接受Message的函数

    var messageSession;

    function  sendMessage(){

        var accountNum=document.getElementById("accountNum");mesaage

        var message=document.getElementById("mesaage");

          //code

          messageSession = oSipStack.newSession('message', {

      // optional: '*' means all events

          events_listener: { events: '*', listener: onSipEventStack }

      });

          //alert(accountNum.value);

          messageSession.send("sip:"+accountNum.value+"@59.120.33.51", message.value, 'text/plain;charset=utf-8');

          var lable=document.getElementById("messageBox");

          //lable.innerHTML+='SMS-content = ' + e.getContentString() + ' and SMS-content-type = ' + e.getContentType()+"<br/>";

          lable.innerHTML+="I    Say: "+message.value+"---------" +new Date().getHours()+":"+new Date().getMinutes()+"<br/>";

          message.value="";

    }

    var acceptMessage = function(e){

        e.newSession.accept(); // e.newSession.reject(); to reject the message

        var lable=document.getElementById("messageBox");

        //lable.innerHTML+='SMS-content = ' + e.getContentString() + ' and SMS-content-type = ' + e.getContentType()+"<br/>";

        var from=e.o_event.o_message.o_hdr_From.s_display_name;

        lable.innerHTML+=from+" Said: "+e.getContentString()+"---------" +new Date().getHours()+":"+new Date().getMinutes()+"<br/>";

     }

  3、在call.htm 的onSipEventStack(e) 函数中增加消息的侦听事件,并调用接受函数,如下:

  case 'i_new_message':{

      acceptMessage(e);

  }

  至此,sipML5 就具有聊天的功能了,只不过目前测试只能支持英文聊天,中文暂时还没测成功,需要在Server进行设定。

注:本次修改是基于sipML5 新版(带桌面共享的一版),仅仅修改了call.htm 页面,其它的API接口以及底层的程式均没有改动。

转载于:https://www.cnblogs.com/logo-fox/p/4059743.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值