1、安装包准备
osip:http://ftp.gnu.org/gnu/osip/
exosip: http://download.savannah.nongnu.org/releases/exosip/

需要的软件
apt-get install make gcc g++

2、下载安装包
wget http://ftp.gnu.org/gnu/osip/libosip2-3.6.0.tar.gz
wget http://download.savannah.nongnu.org/releases/exosip/libeXosip2-3.6.0.tar.gz

3、解压安装包
tar -zxf libosip2-3.6.0.tar.gz
tar -zxf libeXosip2-3.6.0.tar.gz

4、首先编译osip
cd libosip2-3.6.0/
./configure
make -j8
make install

5、编译exosip
cd libeXosip2-3.6.0/
修改文件 
文件:include/eXosip2/eX_call.h

int eXosip_call_send_ack(struct eXosip_t *excontext, int tid, osip_message_t *ack, char *host, int port);

添加ip和端口

文件:src/eXcall_api.c

int eXosip_call_send_ack(struct eXosip_t *excontext, int tid, osip_message_t *ack, char *host, int port) {
  eXosip_dialog_t *jd = NULL;
  eXosip_call_t *jc = NULL;
  osip_transaction_t *tr = NULL;
  int i;
 
  if (tid <= 0) {
    if (ack != NULL)
      osip_message_free(ack);
 
    return OSIP_BADPARAMETER;
  }
 
  if (tid > 0) {
    _eXosip_call_transaction_find(excontext, tid, &jc, &jd, &tr);
  }
 
  if (jc == NULL) {
    /* For old API, did was used here. So use it for backward compatibility */
    _eXosip_call_dialog_find(excontext, tid, &jc, &jd);
  }
 
  if (jc == NULL) {
    OSIP_TRACE(osip_trace(__FILE__, __LINE__, OSIP_ERROR, NULL, "[eXosip] no call here\n"));
 
    if (ack != NULL)
      osip_message_free(ack);
 
    return OSIP_NOTFOUND;
  }
 
  if (ack == NULL) {
    i = eXosip_call_build_ack(excontext, tid, &ack);
 
    if (i != 0) {
      return i;
    }
  }
 
  i = _eXosip_snd_message(excontext, NULL, ack, host, port, -1);
 
  if (jd != NULL) {
    /* if the call is already closed, the ACK was rebuilt with a temporary dialog, and jd==NULL */
    if (jd->d_ack != NULL)
      osip_message_free(jd->d_ack);
 
    jd->d_ack = ack;
  }
 
  _eXosip_wakeup(excontext);
  if (i < 0)
    return i;
 
  /* TODO: could be 1 for icmp... */
  return OSIP_SUCCESS;
}

6、编译并安装
cd libosip2-3.6.0/
./configure
make -j8
make install

安装opensips
1、安装包准备
opensips:https://opensips.org/pub/opensips/

需要的软件
apt-get install flex bison libncurses5-dev libssl-dev pkg-config 
apt-get install libmysqlclient-dev libwolfssl-dev
apt-get install autoconf automake libtool

2、下载安装包
wget https://opensips.org/pub/opensips/3.2.6/opensips-3.2.6.tar.gz

3、解压安装包
tar -zxf opensips-3.2.6.tar.gz

4、配置安装(使用xshell)
make menuconfig

Configure Excluded Modules

db_mysql

按空格键选中

Configure Install Prefix

输入安装目录 /usr/local/opensips_proxy/

Compile And Install OpenSIPS

ubuntu 安装opensips osip exosip相关推荐

  1. ubuntu下安装opensips

    1. 下载opensips1.8版本,并解压到 "/usr/local/src" 目录下 : 2. 安装必要的软件包,apt-get install flex bison libn ...

  2. Ubuntu安装MongoDB

    https://jingyan.baidu.com/article/e5c39bf5f5ddd539d76033a9.html Ubuntu安装MongoDB4.0: https://www.jian ...

  3. ubuntu安装OpenCV详细教程(建议收藏)

    记录一篇"如何安装ubuntu下C++接口的opencv"的文章.由于转载格式有问题,直接贴个链接:ubuntu安装opencv的正确方法 注意:本人根据此博客安装遇到的问题:2. ...

  4. Linux/ubuntu 安装 redis 4.0报错解决:redis-server.service: Can't open PID file /var/run/redis/redis-server.

    此文首发于我的个人博客:Linux/ubuntu 安装 redis 4.0报错解决:redis-server.service: Can't open PID file /var/run/redis/r ...

  5. debian,ubuntu 安装mongodb 允许外网访问,修改端口,设置用户和密码

    使用apt安装mongodb: apt update && apt install mongodb 查看运行状态: systemctl status mongodb.service 结 ...

  6. ubuntu安装KVM

    ubuntu安装KVM 现在官网下载ubuntu镜像,桌面版或者服务端都可,这里以桌面端为例. 安装之前确保磁盘有足够大的空间(这很重要) 安装KVM sudo apt install qemu-kv ...

  7. 解决Ubuntu安装依赖问题

    解决Ubuntu安装依赖问题 解决Ubuntu安装依赖问题 最主要问题,修改的国内镜像源可能不是对应的ubuntu版本,大部人直接找了个镜像源就复制到source.list里面了,其实需要对应版本的, ...

  8. Ubuntu安装Ceres库-安装依赖时报错:E:无法定位软件包 libcxsparse3.1.2_朱国鑫的博客-CSDN博客

    Ubuntu安装Ceres库-安装依赖时报错:E:无法定位软件包 libcxsparse3.1.2_朱国鑫的博客-CSDN博客

  9. ubuntu 安装Pangolin 过程_余辉亮的学习笔记的博客-CSDN博客_pangolin安装

    ubuntu 安装Pangolin 过程_余辉亮的学习笔记的博客-CSDN博客_pangolin安装

  10. Ubuntu安装、使用postgresql数据库

    Ubuntu安装.使用postgresql数据库 $ sudo apt-get install postgresql  (端口为5432) $ sudo apt-get install postgre ...

最新文章

  1. wavelet tutorial
  2. MySQL入门篇(一)之MySQL部署
  3. spring 循环依赖注入
  4. token要加编码decode吗_彻底弄明白Base64 编码
  5. 【英语学习】【Daily English】U05 Places L02 Any apartment available?
  6. android 嵌套分组拖动_Android NestedScrolling嵌套滑动机制
  7. matplotlib常见问题解决方法
  8. 电子地图下载器的地图级别与对应分辨率
  9. 你还在为python中的列表、元组、字典发愁嘛,别愣着了,快来看!
  10. 有长度,有角度,有点积,有人性
  11. 高考数学三角函数解题技巧 三角函数的图象与性质(高考题)
  12. HTTPS 与 SSL 证书
  13. 6,美国2012年总统候选人政治献金数据分析
  14. Ubuntu16.04 Modelsim 10.2c安装
  15. magic3是鸿蒙系统吗,如果荣耀Magic3搭载屏下镜头和鸿蒙系统,你会做第一批吗?...
  16. Pycharm打开Project(工程)时停留在preparing workspace时间过长,导致打开很慢的解决方法...
  17. FPGA实验二:ADDA测试
  18. 2D转换之旋转与缩放
  19. VyOS软路由系统基本设置
  20. 莱维飞行matlab作图,通俗易懂的布谷鸟算法与莱维飞行,(附求解函数最小值matlab源码)-Go语言中文社区...

热门文章

  1. 数字电路专题:常用逻辑门符号
  2. matlab中erf什么,matlab中的误差函数erf是什么意思?
  3. 中望cad文字显示问号怎么办_如果CAD工程图显示乱码怎么办?
  4. 《Spring开发指南》(夏昕著)学习总结
  5. 计算机网络知识点全面总结(有这一篇就够了!!!)
  6. Linux C语言编程学习材料
  7. 怎么提高文公写作水平?公文写作报告类模板
  8. 医学图像处理眼科检查
  9. IDEA反编译java.class文件
  10. 用16进制编辑器编写一个DLL文件