eXoisp用户手册:1.3 如何发送或者升级注册

eXosip入门(四):eXosip示例程序——注册/认证 首先建议先看一下我翻译的文章《eXoisp用户手册1.3 如何发送或者升级注册》,先对eXosip的注册/认证过程有一个大致的了解。      其次,在exosip\tools目录下有官方提供的一个示例程序sip_reg.c,用户可以仔细阅读该源码,熟悉exosip注册API函数的使用及事件的处理流程。      eXosip基本注册流程如下:发送默认注册请求——>收到注册失败事件(缺少 阅读详情
   eXoisp2提供灵活的API,以帮助您注册一个或多个身份。

1.3.1 初始化注册
    
    为了启动注册,您需要建立一个默认的REGISTER请求,同时需要提供几个强制性的头部。
  osip_message_t *reg = NULL;
  int id;
  int i;


  eXosip_lock ();
  id = eXosip_register_build_initial_register (identity,  // 发送人URL
                                               registrar, // 服务器URL
                                               NULL,
                                               1800,      // 到期时间 
                                               &reg);
  if (id < 0)
  {
      eXosip_unlock ();
      return -1;
  }

  osip_message_set_supported (reg, "100rel");
  osip_message_set_supported(reg, "path");

  i = eXosip_register_send_register (id, reg); // 发送注册请求
  eXosip_unlock ();
  return i;

   eXosip_register_build_initial_register函数的返回值为注册ID,您可以用来升级注册。在之后的关于该注册的事件中,您将会看到注册ID(如适用)。

1.3.2 升级注册

   您只需要再次使用注册ID即可。
  int i;

  eXosip_lock ();
  i = eXosip_register_build_register (id, 1800, ®);
  
  if (i < 0)
  {
      eXosip_unlock ();
      return -1;
  }

  eXosip_register_send_register (id, reg);
  eXosip_unlock ();

  注意:上述代码表明,协议栈有时只需要一个API函数就可以建立和发送默认的SIP消息。

1.3.3 关闭注册
  
   当软电话终止时,它应该删除自己在服务器上的注册信息。为了实现该目的,您需要发送一个REGISTER请求,其中expires头部设置为0(即:到期时间为0)。代码和升级注册一样,只不过需要将到期时间由1800改为0。

eXosip和osip库编译及应用程序编译 一、获取相关文件osip    文件地址:ftp://ftp.gnu.org/gnu/osipexoisp 文件地址:http://download.savannah.nongnu.org/releases/exosip/本文创作时,最新版本都为5.0.0,因此以该版本为例子。下载完成,进行解压操作#: tar -zcvf libosip2-5.0.0.tar.gz #: tar -zcvf li... 阅读详情

相关推荐

【eXosip】注册与处理推流请求处理逻辑总结

exosip库构建信令服务总结

gma999的博客 1620

exoSip开发手册.pdf

exoSip开发手册.pdf

GB/T28181网络博文索引

DZ先生 国标消消乐-----9篇 DZ先生怪谈国标案例10——论国标视频流端口奇偶性 DZ先生国标资源整合之国标精选——一书在手 记录杂货店GB/T28181专栏 2018 GB28181协议实现简介 GB/T-28181平台级联实现方式 GB28181协议实现系列之----IPC设备注册1) GB28181协议实现系列之----IP...

machh的专栏 1055

一个运行于WinCE/PPC平台的带源代码和文档的sip客户端

(mailto: dotphoenix@qq.com) 一个运行于WinCE/PPC平台的带源代码和文档的sip客户端,使用一个高层的sip库. PS: 因为没有在vs里面设置debug路径,因此不能在vs里面直接运行或是调试,需要将编译好以后的ppce.exe和ppsip.dll拷贝到simulator或是ppc的同一个文件夹之下,然后手工运行. 可以查看sip 和 rtp的log,路径是\\Storage Card\\Log\\

基于osip2/eXosip2协议栈的应用开发之(1):翻译:eXosip开发手册

1、扩展协议栈eXosip1.1 如何初始化libeXsip2库    当使用eXosip是,你首先要完成的工作就是初始化eXsip上下文和libosip库(解析器和状态机)。在使用libeXosip前这个工作必须完成。那么如何初始化呢,我们看下面的代码:include int i; TRACE_INITIALIZE (6, stdout); i=eXosip_init(); if (i!=0

好久都没有更新博客喽,工作原因只能总结在内部机上:-( 8324

GB28181实现

前几篇以3399平台大致讲解了一些视频的概念及应用,考虑到大家使用平台的通用性,接下来提供的附件以x86 ubuntu18.04为运行平台。 GB28181主要用于安防场景,目前电力行业也逐步引入了该标准。与B接口(后续章节可能会给大家普及)相似,都是基于sip指令的交互,完成视频的转发,控制,历史查询等(这两个标准实际上,也是互相借鉴补充,如B接口2019也开始引入了基于tcp通道的视频播放)。 本篇以GB28181-2016为基础讲解,2011老版本也...

z5201314100的博客 7292

eXosip注册函数与使用说明

exosip注册与刷新注册 文章目录exosip注册与刷新注册注册相关函数接口eXosip_register_build_initial_registereXosip_register_build_initial_register_withqvalueeXosip_register_build_registereXosip_register_send_registereXosip_register_remove注册相关操作初始化注册REGISTER中的Contact头域设置密码删除所有注册更新注册关闭注册

yjkhtddx的专栏 3365

eXosip入门(四):eXosip示例程序——注册/认证 .

http://blog.csdn.net/ppy521/article/details/7959062

yyyxxxzzz111的专栏 4424

voip视频通话项目过程 rfc3261协议学习笔记

3)). Rtp音频发送设置mark = true表示开始音频发送;视频发送中注意sps 、pps、sei(可忽略)用单包发送;I和P用分片发送方式并且I\PPS\SPS三个发送是统一时间戳\PPS\SPSmakr值为false;2) 回主界面-》点击组手-》使用一个sip账号-》填写sip服务器相关ip,填写设备地址。5)).Rtp时间错很重要:会影响对端解码效果。NAL_SLICE_IDR =5 关键帧。

weixin_45042833的博客 1316

eXosip用户手册1.2 如何初始化、修改或终止呼叫

eXosip2提供灵活的API,以帮助用户控制呼叫。 1.2.1 初始化呼叫     要启动一个呼出,用户通常需要一些eXosip2用到的头部,以建立默认的INVITE请求。以下的代码用于启动一个呼叫: osip_message_t *invite; int i; i = eXosip_call_build_initial_invite (&invite,

CheneyMei的博客 1万+

基于exosip2的Linux下国标客户端实现

这个代码是我根据别人win下的代码修改的,基于exosip2实现的,可以成功对接liveGBS平台传输ps流数据,有需要的可以看下

exosip2-5.0.0及手冊

网上下载的exosip协议代码及使用手册说明。voip电话开发的sip协议。

【GBT28181开发:SIP协议实践】之实况直播

实况直播(标准中的叫法是实时点播,但是以前在HW,SE的设计文档里面是实况,叫习惯了,其实只是个叫法而已)是整个视频监控系统中比较核心的一个业务,GBT28181标准中对其也做了详细的设计。相对于设备信息、状态查询等业务,其稍微复杂点。 首先消息类型采用的是INVITE,然后消息体的描述采用SDP协议。SDP协议的之前已经学习过了,还算简单:http://blog.csdn.net/long

莫问收获、敢问耕耘 8790

osip及eXosip的编译及开发方法

本文介绍了基于eXosip下开发简单的sip测试程序的步骤和方法。

Derry的专栏 8385

osip和mysql_osip2和eXosip2协议

http://blog.csdn.net/flyhawk007j2me/article/details/6830586Osip2是一个开放源代码的sip协议栈,是开源代码中不多使用C语言写的协议栈之一,它具有短小简洁的特点,专注于sip底层解析使得它的效率比较高eXosip2是Osip2的一个扩展协议集,它部分封装了Osip2协议栈,使得它更容易被使用。exosip2增加了call、dialog、...

weixin_42406333的博客 371

国标28181:libeXosip2应该如何使用

初始化 初始化eXosip并准备传输层 使用eXosip时,第一步是初始化eXosip上下文和libosip库(解析器和状态机)。此外,您需要准备传输层,并选择UDP、TCP、TLS或DTL。 以下是基本的强制设置: 初始化osip跟踪(使用-DENABLE_trace编译此代码) #include <eXosip2/eXosip.h> eXosip_t *ctx; int i; int port=5060; TRACE_INITIALIZE (6, NUL

OceanStar的博客 6068

eXosip_register_build_initial_register 详解

例如,"sip:proxy.example.com:5060",其中 "sip" 是协议,"proxy.example.com" 是代理服务器的域名或IP地址,"5060" 是端口号。在实际应用中,你需要根据你的需求添加更多的代码来处理注册请求的发送和响应。: 这是一个字符串,表示注册请求的发送方(即你的 SIP 客户端)的 SIP 地址。的SIP注册请求消息,它是 eXosip 库的一部分,通常用于SIP客户端向SIP服务器注册: 这是一个字符串,表示注册的联系信息,通常是 SIP 客户端的地址。

yu2yu3yu2的专栏 1214
上一篇: eXosip用户手册:1.2 如何初始化、修改或终止呼叫
下一篇: eXosip入门(三):eXosip库的验证
cheneymei
博客等级 码龄16年 144粉丝 9原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值