效果
工程代码说明
源码运行环境为Vs2017+Qt5.12.4,sip部分由eXosip库完成。主要功能为模拟GB28181客户端,完成客户端向服务端注册、注销、发送保活心跳、响应服务端的"设备信息查询"及"目录查询"等功能。
源码
#include <QtWidgets/QApplication>
#include <QWidget>
#include <QPainter>
#include <QObject>
#include <QMessageBox>
#include <QTime>
#include <QThread>
#include <QDebug>#include "eXosip2/eXosip.h"#define QMSLEEP(ms) (QThread::msleep(ms))
#define QCODEC(str) (QString::fromLocal8Bit(str))
#define QMSG_ERROR(str) (QMessageBox::critical(0,QCODEC("错误"),str),QMessageBox::Ok)
#define QNUMBER(num) (QString::number(num))/********************************** 全局参数 **********************************/
GB28181PARAMETER GBParameter;// 设备是否注册成功
bool Isregistered = false;// 本地IP,在注册时获取到
char LocalIP[64] = { 0 };// 被叫方sip(服务)、呼叫方sip(设备)
std::string proxy_sip, from_sip;// rtp协议
std::string rtp_protocol;
std::string rtp_ip;
unsigned int rtp_port;/*int sockfd;*/
std::string ssrc;
/*****************************************************************************/// 获取SN,持续增长的号码
unsigned int _SN_ = 0;
unsigned int Get_SN_