mirror of
https://git.jami.net/savoirfairelinux/jami-daemon.git
synced 2025-08-12 22:09:25 +08:00
[#2522] Add basic SRTP attribute in sdp
This commit is contained in:
@ -130,6 +130,8 @@ void Sdp::set_media_descriptor_line (sdpMedia *media, pjmedia_sdp_media** p_med)
|
||||
_debug ("No hash specified");
|
||||
}
|
||||
|
||||
// sdp_add_srtp_attribute (med);
|
||||
|
||||
*p_med = med;
|
||||
}
|
||||
|
||||
@ -360,6 +362,37 @@ void Sdp::sdp_add_media_description()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Sdp::sdp_add_srtp_attribute (pjmedia_sdp_media* media)
|
||||
{
|
||||
|
||||
char tempbuf[256];
|
||||
|
||||
std::string crypto_suite = "AES_CM_128_HMAC_SHA1_32";
|
||||
std::string application = "srtp";
|
||||
std::string key = "inline:16/14/NzB4d1BINUAvLEw6UzF3WSJ+PSdFcGdUJShpX1Zj/2^20/1:32";
|
||||
|
||||
pjmedia_sdp_attr *attribute = (pjmedia_sdp_attr*) pj_pool_zalloc(_pool, sizeof(pjmedia_sdp_attr));
|
||||
|
||||
attribute->name = pj_strdup3(_pool, "crypto");
|
||||
|
||||
int len = pj_ansi_snprintf(tempbuf, sizeof(tempbuf),
|
||||
"%.*s %.*s %.*s",
|
||||
(int)crypto_suite.size(), crypto_suite.c_str(),
|
||||
(int)application.size(), application.c_str(),
|
||||
(int)key.size(), key.c_str());
|
||||
|
||||
attribute->value.slen = len;
|
||||
attribute->value.ptr = (char*) pj_pool_alloc (_pool, attribute->value.slen+1);
|
||||
pj_memcpy (attribute->value.ptr, tempbuf, attribute->value.slen+1);
|
||||
|
||||
if(pjmedia_sdp_media_add_attr(media, attribute) != PJ_SUCCESS) {
|
||||
throw sdpException();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
void Sdp::sdp_add_zrtp_attribute (pjmedia_sdp_media* media, std::string hash)
|
||||
{
|
||||
pjmedia_sdp_attr *attribute;
|
||||
|
@ -336,6 +336,14 @@ class Sdp {
|
||||
|
||||
void get_remote_sdp_media_from_offer (const pjmedia_sdp_session* r_sdp, pjmedia_sdp_media** r_media);
|
||||
|
||||
|
||||
/*
|
||||
* Adds a srtp attribute to the given media section.
|
||||
*
|
||||
* @param media The media to add the srtp attribute to
|
||||
*/
|
||||
void sdp_add_srtp_attribute(pjmedia_sdp_media* media);
|
||||
|
||||
/*
|
||||
* Adds a zrtp-hash attribute to
|
||||
* the given media section. The hello hash is
|
||||
|
Reference in New Issue
Block a user