zoukankan      html  css  js  c++  java
  • 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" onclick="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接口以及底层的程式均没有改动。

  • 相关阅读:
    未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序 解决方法
    未能从程序集“System.ServiceModel, Version=3.0.0.0问题解决
    HTML5斯诺克桌球俱乐部【译】
    MVC调试时查看生成的sql语句
    小问题 小技巧 :创建虚拟目录并将IIS里面.net配置版本设为2.0
    网页调用服务程序
    WatiN——Web自动化测试(三)【弹出窗口处理】
    WatiN——Web自动化测试(二)
    小问题 小技巧 :网站路径问题
    小问题 小技巧:敲回车默认提交
  • 原文地址:https://www.cnblogs.com/logo-fox/p/4059743.html
Copyright © 2011-2022 走看看