mirror of
https://github.com/signalwire/freeswitch.git
synced 2026-10-30 15:14:17 +00:00
FS-9903 WIP MSRP client mode support
This commit is contained in:
1 parent
0248d38a28
commit
7e24a79580
4 files changed
+318
-122
No files matched your search
@@ -972,9 +972,13 @@ static switch_status_t sofia_read_text_frame(switch_core_session_t *session, swi
|
||||
rframe->data = msrp_session->frame_data;
|
||||
rframe->buflen = sizeof(msrp_session->frame_data);
|
||||
|
||||
if (msrp_msg && msrp_msg->method == MSRP_METHOD_SEND && !switch_stristr("?OTRv3?", msrp_msg->payload) &&
|
||||
(switch_stristr("text/plain", msrp_msg->payload) ||
|
||||
switch_stristr("text/html", msrp_msg->payload))) {
|
||||
if (msrp_msg && msrp_msg->method == MSRP_METHOD_SEND &&
|
||||
!switch_stristr("?OTRv3?", msrp_msg->payload) &&
|
||||
!switch_stristr("application/im-iscomposing", msrp_msg->payload) &&
|
||||
msrp_msg->headers[MSRP_H_CONTENT_TYPE] &&
|
||||
(switch_stristr("text/plain", msrp_msg->headers[MSRP_H_CONTENT_TYPE]) ||
|
||||
switch_stristr("text/html", msrp_msg->headers[MSRP_H_CONTENT_TYPE]) ||
|
||||
switch_stristr("message/cpim", msrp_msg->headers[MSRP_H_CONTENT_TYPE]))) {
|
||||
rframe->datalen = msrp_msg->payload_bytes;
|
||||
rframe->packetlen = msrp_msg->payload_bytes;
|
||||
memcpy(rframe->data, msrp_msg->payload, msrp_msg->payload_bytes);
|
||||
@@ -983,14 +987,13 @@ static switch_status_t sofia_read_text_frame(switch_core_session_t *session, swi
|
||||
|
||||
*frame = rframe;
|
||||
|
||||
if (msrp_msg->headers[MSRP_H_CONTENT_TYPE] && !strcasecmp(msrp_msg->headers[MSRP_H_CONTENT_TYPE], "message/cpim")) {
|
||||
if (msrp_msg->headers[MSRP_H_CONTENT_TYPE] && !strcasecmp(msrp_msg->headers[MSRP_H_CONTENT_TYPE], "message/cpim")) {
|
||||
char *stripped_text = switch_html_strip((char *)rframe->data);
|
||||
memcpy(rframe->data, stripped_text, strlen(stripped_text)+1);
|
||||
rframe->datalen = strlen(stripped_text)+1;
|
||||
free(stripped_text);
|
||||
}
|
||||
|
||||
|
||||
switch_safe_free(msrp_msg);
|
||||
msrp_msg = NULL;
|
||||
status = SWITCH_STATUS_SUCCESS;
|
||||
|
||||
Reference in new issue
Block a user