
sip
呆瑞
这个作者很懒,什么都没留下…
展开
-
GB28181学习之路——eXosip获取IP和端口
当设备注册进来时,我们需要记录下设备的IP和端口,以便后续与其进行通信,其实好多地方都可以获取到,但是不一定是准确的,尤其是经过映射的地址更是不好难以捕捉。今天写一下怎么样获取设备的IP和端口,对映射与非映射同样有效。先构造获answer,然后再answer的Via header中取,这时answer中含有映射地址的信息:if (MSG_IS_REGISTER(je->request)){ FLOG ("MSG_IS_REGISTER!\n"); eXosip_lock原创 2020-06-17 17:19:40 · 2451 阅读 · 0 评论 -
GB28181学习之路——eXosip TCP模式
eXosip 的TCP模式与UDP模式大致相同,基本代码如下:bool CSipContact::initialize(){ int i; TRACE_INITIALIZE (6, NULL); m_ctx = eXosip_malloc(); if (m_ctx==NULL) { FLOG("eXosip_malloc failed\n"); return -1; } i=eXosip_init(m_ctx);原创 2020-05-13 09:37:14 · 3929 阅读 · 6 评论 -
GB28181学习之路——再探invite信令规范
最近对接压缩机和nvr设备,出现了很多的问题,原因是之前对接IPC所写的信令不规范,所以这次暴露出了很多问题。wireshark抓的包忘记保存了,懒着抓了,就干吧的写吧。一、sip头proxy、to、contact的国标编码要用通道号的编码。二、invite请求要加subject,值为 (发送者:媒体序列,接受者:媒体序列),发送者是通道编码,接受者有就写,序列号点播第一位为0,历史第...原创 2020-04-27 10:40:02 · 1931 阅读 · 0 评论 -
GB28181学习之路——基于osip的sdp文本解析
话不多说上代码吧 char buff[4096]; sprintf(buff, "v=0\r\n""o=1001 0 0 IN IP4 10.64.49.44\r\n""s=Play\r\n""c=IN IP4 10.64.49.44\r\n""t=0 0\r\n""m=video 5494 RTP/AVP 96 97 98\r\n""a=rtpmap:96 PS/...原创 2020-04-27 10:14:11 · 2472 阅读 · 2 评论 -
GB28181学习之路——SIP报文解析转换
由于某些原因没有用eXosip,于是自己tcpsocket建立连接并解析报文,osip安装的自己找找吧。解析代码如下:#include<osipparser2/osip_message.h>#include<osipparser2/osip_parser.h>int main(){ parser_init ();//必须要有这句话 char t...原创 2020-04-09 09:14:21 · 1859 阅读 · 0 评论