当前位置:首页 » 编程博文
开发技术指南» 文章正文
    引言: 一个基于exosip的软电话例子
 

 

 ·在eclipse中建立自己的junit测试    »显示摘要«
    摘要:  这篇文章将向你介绍junit,一个用来在项目中进行测试和调试的工具。在介绍完tdd(以测试驱动开发)理论后,将进一步讲解怎样在流行的eclipse中建立你自己的junit测试。向你展示如何测试hello world这样简单的程序。 全文阅读:在eclipse中建立自己的junit测试 ......
    摘要:使用jaxb将xml schema绑定到java类 scott fordin java architecture for xml binding (jaxb) 是一项可以根据xml 模式产生java类的java技术。该过程中,jaxb也提供了将xml实例文档反编组到java内容树的方法,并能将java内容树编组回xml实例文档。从另一方面来讲,jaxb提供了快速而简便的方法将xml模式绑定......


一个基于exosip的软电话例子

一个基于exosip的软电话例子

【程序编程相关:单击菜单只运行一个子窗体实例的简单方法

 转贴自:http://www.coolboysky.com/oblog/more.asp?name=tucket&id=72 【推荐阅读:Java Map 集合类简介

【扩展信息:利用JDBC编写能实现数据库连接与断开的

                http://blog.csdn.net/wffy

由于这两个地方都有.

exosip针对ua是对osip进行扩展,osip不提供任何快速产生请求消息与响应消息的方法,所有请求消息与响应消息的形成必须调用一组sip message api来手动组装完成,所以作者在osip上基础上开发了exosip,用exosip开发软电话非常方便,仅需几个api就可以完成.exosip中附带一个例子:josua,不过josua相对复杂了点,下面给出一个最简单的例子供大家参考,因为例子实在太简单所以没有给出注释,用到exosip的api的参数请参看exosip源代码,看懂这个例子再研究josua就很简单了.我使用的是osip 2.0.9+exosip 0.77.

#include "assert.h"

#include <conio.h>

#include <iostream>

#include <osip2/osip_mt.h>

#include <exosip/exosip.h>

#include <exosip/exosip_cfg.h>

using namespace std;

class jcall;

class jcall {

public:

 int cid;

 int did;

 

 char reason_phrase[50];

 int  status_code;

 

 char textinfo[256];

 char req_uri[256];

 char local_uri[256];

 char remote_uri[256];

 char subject[256];

 

 char remote_sdp_audio_ip[50];

 int  remote_sdp_audio_port;

 int  payload;

 char payload_name[50];

 

 int state;

 

 jcall() {}

 

 int build(exosip_event_t *je)

 {

  jcall *ca = this;

  

  ca->cid = je->cid;

  ca->did = je->did;

  

  if (ca->did<1 && ca->cid<1)

  {

   assert(0);

   return -1; /* not enough information for this event?? */

  }

  

  osip_strncpy(ca->textinfo,   je->textinfo, 255);

  osip_strncpy(ca->req_uri,    je->req_uri, 255);

  osip_strncpy(ca->local_uri,  je->local_uri, 255);

  osip_strncpy(ca->remote_uri, je->remote_uri, 255);

  osip_strncpy(ca->subject,    je->subject, 255);

  

  if (ca->remote_sdp_audio_ip[0]==´\0´)

  {

   osip_strncpy(ca->remote_sdp_audio_ip, je->remote_sdp_audio_ip, 49);

   ca->remote_sdp_audio_port = je->remote_sdp_audio_port;

   ca->payload = je->payload;

   osip_strncpy(ca->payload_name, je->payload_name, 49);

   

  }

  

  if (je->reason_phrase[0]!=´\0´)

  {

   osip_strncpy(ca->reason_phrase, je->reason_phrase, 49);

   ca->status_code = je->status_code;


...   下一页
 ·jsp连接mysql数据库    »显示摘要«
    摘要:添加mysql用户grant select,insert on jspdb.* to jspuser identified by ´123456´; 代码<%class.forname("org.gjt.mm.mysql.driver").newinstance(); string url ="jdbc:mysql://localhost......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE