[免费]GB28181信令交互代码.rar


GB28181信令交互实例,使用osip库,信令有Register、Invite、Message等 GB28181信令交互实例,使用osip库,信令有Register、Invite、Message等
资源截图
代码片段和文件信息
#include “stdafx.h“

static void CvtHex(HASH Bin HASHHEX Hex)
{
unsigned short i;
unsigned char j;
for (i = 0; i < HASHLEN; i++)
{
j = (Bin[i] >> 4) & 0xf;
if (j <= 9)
Hex[i * 2] = (j + ‘0‘);
else
Hex[i * 2] = (j + ‘a‘ - 10);
j = Bin[i] & 0xf;
if (j <= 9)
Hex[i * 2 + 1] = (j + ‘0‘);
else
Hex[i * 2 + 1] = (j + ‘a‘ - 10);
};
Hex[HASHHEXLEN] = ‘‘;
}
void DigestCalcHA1(const char *pszAlg const char *pszUserName
const char *pszRealm const char *pszPassword
const char *pszNonce const char *pszCNonce
HASHHEX SessionKey)
{
osip_MD5_CTX Md5Ctx;
HASH HA1;
osip_MD5Init(&Md5Ctx);
osip_MD5Update(&Md5Ctx (unsigned char *) pszUserName strlen(pszUserName));
osip_MD5Update(&Md5Ctx (unsigned char *) “:“ 1);
osip_MD5Update(&Md5Ctx (unsigned char *) pszRealm strlen(pszRealm));
osip_MD5Update(&Md5Ctx (unsigned char *) “:“ 1);
osip_MD5Update(&Md5Ctx (unsigned char *) pszPassword strlen(pszPassword));
osip_MD5Final((unsigned char *) HA1 &Md5Ctx);
if ((pszAlg != NULL) && strcmp(pszAlg “md5-sess“) == 0)
{
osip_MD5Init(&Md5Ctx);
osip_MD5Update(&Md5Ctx (unsigned char *) HA1 HASHLEN);
osip_MD5Update(&Md5Ctx (unsigned char *) “:“ 1);
osip_MD5Update(&Md5Ctx (unsigned char *) pszNonce strlen(pszNonce));
osip_MD5Update(&Md5Ctx (unsigned char *) “:“ 1);
osip_MD5Update(&Md5Ctx (unsigned char *) pszCNonce strlen(pszCNonce));
osip_MD5Final((unsigned char *) HA1 &Md5Ctx);
}
CvtHex(HA1 SessionKey);
}
void DigestCalcResponse(HASHHEX HA1 const char *pszNonce
const char *pszNonceCount const char *pszCNonce
const char *pszQop int Aka const char *pszMethod
const char *pszDigestUri HASHHEX HEntity HASHHEX Response)
{
osip_MD5_CTX Md5Ctx;
HASH HA2;
HASH RespHash;
HASHHEX HA2Hex;
/* calculate H(A2) */
osip_MD5Init(&Md5Ctx);
osip_MD5Update(&Md5Ctx (unsigned char *) pszMethod strlen(pszMethod));
osip_MD5Update(&Md5Ctx (unsigned char *) “:“ 1);
osip_MD5Update(&Md5Ctx (unsigned char *) pszDigestUri
strlen(pszDigestUri));
if (pszQop == NULL)
{
goto auth_withoutqop;
}
else if (0 == strcmp(pszQop “auth-int“))
{
goto auth_withauth_int;
}
else if (0 == strcmp(pszQop “auth“))
{
goto auth_withauth;
}
auth_withoutqop: osip_MD5Final((unsigned char *) HA2 &Md5Ctx);
CvtHex(HA2 HA2Hex);
/* calculate response */
osip_MD5Init(&Md5Ctx);
osip_MD5Update(&Md5Ctx (unsigned char *) HA1 HASHHEXLEN);
osip_MD5Update(&Md5Ctx (unsigned char *) “:“ 1);
osip_MD5Update(&Md5Ctx (unsigned char *) pszNonce strlen(pszNonce));
osip_MD5Update(&Md5Ctx (unsigned char *) “:“ 1);
goto end;
auth_withauth_int:
osip_MD5Update(&Md5Ctx (unsigned char *) “:“ 1);
osip_MD5Update(&Md5Ctx (unsigned char *) HEntity HASHHEXLEN);
auth_withauth: osip_MD5Final((unsigned char *) HA2 &Md5Ctx);
CvtHex(HA2 HA2Hex);
/* calculate response */
osip_MD5Init(&Md5Ctx);
osip_MD5Update(&Md5Ctx (unsigned c

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      96768  2017-03-04 12:58  设备UACDebugosip2.dll

     文件     194560  2017-03-04 12:58  设备UACDebugosipparser2.dll

     文件     284160  2017-03-30 14:32  设备UACDebugUAC.exe

     文件     972536  2017-03-30 14:32  设备UACDebugUAC.ilk

     文件    1420288  2017-03-30 14:32  设备UACDebugUAC.pdb

     文件    2359296  2017-03-30 15:09  设备UACipchuac-3f6d8569uac-14ec0305.ipch

     文件       5138  2017-03-30 14:32  设备UACUACDebugcl.command.1.tlog

     文件      64838  2017-03-30 14:32  设备UACUACDebugCL.read.1.tlog

     文件       1892  2017-03-30 14:32  设备UACUACDebugCL.write.1.tlog

     文件          2  2017-03-30 14:32  设备UACUACDebuglink-cvtres.read.1.tlog

     文件          2  2017-03-30 14:32  设备UACUACDebuglink-cvtres.write.1.tlog

     文件          2  2017-03-30 14:32  设备UACUACDebuglink.2212-cvtres.read.1.tlog

     文件          2  2017-03-30 14:32  设备UACUACDebuglink.2212-cvtres.write.1.tlog

     文件          2  2017-03-30 14:32  设备UACUACDebuglink.2212.read.1.tlog

     文件          2  2017-03-30 14:32  设备UACUACDebuglink.2212.write.1.tlog

     文件          2  2017-03-30 14:32  设备UACUACDebuglink.4712-cvtres.read.1.tlog

     文件          2  2017-03-30 14:32  设备UACUACDebuglink.4712-cvtres.write.1.tlog

     文件          2  2017-03-30 14:32  设备UACUACDebuglink.4712.read.1.tlog

     文件          2  2017-03-30 14:32  设备UACUACDebuglink.4712.write.1.tlog

     文件          2  2017-03-30 14:32  设备UACUACDebuglink.656-cvtres.read.1.tlog

     文件          2  2017-03-30 14:32  设备UACUACDebuglink.656-cvtres.write.1.tlog

     文件          2  2017-03-30 14:32  设备UACUACDebuglink.656.read.1.tlog

     文件          2  2017-03-30 14:32  设备UACUACDebuglink.656.write.1.tlog

     文件          2  2017-03-30 14:32  设备UACUACDebuglink.6592-cvtres.read.1.tlog

     文件          2  2017-03-30 14:32  设备UACUACDebuglink.6592-cvtres.write.1.tlog

     文件          2  2017-03-30 14:32  设备UACUACDebuglink.6592.read.1.tlog

     文件          2  2017-03-30 14:32  设备UACUACDebuglink.6592.write.1.tlog

     文件          2  2017-03-30 14:32  设备UACUACDebuglink.6644-cvtres.read.1.tlog

     文件          2  2017-03-30 14:32  设备UACUACDebuglink.6644-cvtres.write.1.tlog

     文件          2  2017-03-30 14:32  设备UACUACDebuglink.6644.read.1.tlog

............此处省略160个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)