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接口以及底层的程式均没有改动。

  • 相关阅读:
    asp.net2.0中App_GlobalResources的使用
    KPI(Key Performance Indicators )
    Dictionary集合
    SQL连接查询1 内联接查询
    如何在Web.config中注册用户控件和自定义控件
    JavaScript中【数据类型】和【数组类型】的区别
    递归求斐波拉数列函数
    SQL连接查询2 外连接(左右联接查询)
    启示
    “帽子戏法”从何而来?
  • 原文地址:https://www.cnblogs.com/logo-fox/p/4059743.html
Copyright © 2011-2022 走看看