一、环境说明:在阅读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接口以及底层的程式均没有改动。

sipML5聊天功能实现的更多相关文章

  1. [Asp.net 开发系列之SignalR篇]专题二:使用SignalR实现酷炫端对端聊天功能

    一.引言 在前一篇文章已经详细介绍了SignalR了,并且简单介绍它在Asp.net MVC 和WPF中的应用.在上篇博文介绍的都是群发消息的实现,然而,对于SignalR是为了实时聊天而生的,自然少 ...

  2. Linux下p2p的聊天功能实现

    Linux下p2p的聊天功能实现细节 Do one thing at a time, and do well. 今天闲着没事,写一个P2P的点对点的聊天功能的小程序,我觉得对网络编程初学者的学习很有用 ...

  3. MVC实现类似QQ的网页聊天功能-ajax(下)

    此篇文章主要是对MVC实现类似QQ的网页聊天功能(上)的部分代码的解释. 首先说一下显示框的滚动条置底的问题: 结构很简单一个大的div(高度一定.overflow:auto)包含着两个小的div第一 ...

  4. MingQQ v1.0高仿版开源了,使用WebQQ协议实现了QQ客户端基本的聊天功能...

    MingQQ v1.0高仿版开源了,使用WebQQ协议实现了QQ客户端基本的聊天功能... MingQQ目前支持的功能如下:1.支持普通方式登录.验证码方式登录.注销.保持在线.改变在线状态.2.支持 ...

  5. 最新的chart 聊天功能( webpack2 + react + router + redux + scss + nodejs + express + mysql + es6/7)

    请表明转载链接: 我是一个喜欢捣腾的人,没事总喜欢学点新东西,可能现在用不到,但是不保证下一刻用不到. 我一直从事的是依赖angular.js 的web开发,但是我怎么能一直用它呢?看看最近火的一塌糊 ...

  6. Spring 学习——基于Spring WebSocket 和STOMP实现简单的聊天功能

    本篇主要讲解如何使用Spring websocket 和STOMP搭建一个简单的聊天功能项目,里面使用到的技术,如websocket和STOMP等会简单介绍,不会太深,如果对相关介绍不是很了解的,请自 ...

  7. 使用websocket实现在线聊天功能

    很早以前为了快速达到效果,使用轮询实现了在线聊天功能,后来无意接触了socket,关于socket我的理解是进程间通信,首先要有服务器跟客户端,服务的启动监听某ip端口定位该进程,客户端开启socke ...

  8. spring boot集成websocket实现聊天功能和监控功能

    本文参考了这位兄台的文章: https://blog.csdn.net/ffj0721/article/details/82630134 项目源码url: https://github.com/zhz ...

  9. WebSocket(3)---实现一对一聊天功能

    实现一对一聊天功能 功能介绍:实现A和B单独聊天功能,即A发消息给B只能B接收,同样B向A发消息只能A接收. 本篇博客是在上一遍基础上搭建,上一篇博客地址:[WebSocket]---实现游戏公告功能 ...

随机推荐

  1. SpaceVim的基本安装和常见问题

    SpaceVim官网:https://spacevim.org/ SpaceVim中文官网:http://spacevim.org/cn/ SpaceVim的Github页面:https://gith ...

  2. myEclipse全局搜索时报错

    1.全局搜索时出错. 大家都知道,Eclipse可以用Ctrl+ H 进行全局搜索,但今天搜索时出现了一个问题: Problem Occurred ‘File Search’ has encounte ...

  3. C# WinForm文章收集

    DataGridView 使用方法集锦 https://blog.csdn.net/zhaoyu_m69/article/details/70307934 关于DataGridView的一些操作(很全 ...

  4. 泛型List小项目

    页面设计: 显示图书列表运行效果: 添加集合元素运行效果: 插入集合元素运行效果: 删除选中对象: 项目我已经上传到我的百度云盘,下载链接:http://pan.baidu.com/s/1mi3BjY ...

  5. vue2.0 之文本渲染-v-html、v-text

    vue2.0 之文本渲染-v-html.v-text 1.index.html代码 <!DOCTYPE html> <html> <head> <meta c ...

  6. Tomcat定义虚拟主机案例

    Tomcat定义虚拟主机案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.准备环境 1>.创建web程序的根目录 [root@yinzhengjie ~]# mkdir ...

  7. 在IIS上启用Gzip压缩(HTTP压缩)

    一.摘要 本文总结了如何为使用IIS托管的网站启用Gzip压缩, 从而减少网页网络传输大小, 提高用户显示页面的速度. 二.前言. 本文的知识点是从互联网收集整理, 主要来源于中文wiki.  使用Y ...

  8. mysql用户权限分配专栏

    00x1创建新用户 通过root用户登录之后创建 创建新用户,用户名为testuser,密码为123456 : 1 grant all privileges on *.* to testuser@lo ...

  9. Nginx管理脚本

    #!/bin/bash # chkconfig: # description: Start/Stop Nginx server path=/application/nginx/sbin pid=/ap ...

  10. Jquery中click事件重复执行的问题

    平常没注意事件绑定问题,在此注意一下: function testClick(obj){ $("select").off().on("click", funct ...