diff --git a/pjsip/src/pjsip-ua/sip_siprec.c b/pjsip/src/pjsip-ua/sip_siprec.c index af33bf5955..2602e28700 100644 --- a/pjsip/src/pjsip-ua/sip_siprec.c +++ b/pjsip/src/pjsip-ua/sip_siprec.c @@ -275,6 +275,13 @@ PJ_DEF(pj_status_t) pjsip_siprec_get_metadata(pj_pool_t *pool, pjsip_media_type_init2(&app_metadata, "application", "rs-metadata"); metadata_part = pjsip_multipart_find_part(body, &app_metadata, NULL); + /* Fallback to XML extension rs-metadata+xml if needed per rfc*/ + if (!metadata_part) { + pjsip_media_type_init2(&app_metadata, "application", + "rs-metadata+xml"); + metadata_part = pjsip_multipart_find_part(body, &app_metadata, NULL); + } + if(!metadata_part) return PJ_ENOTFOUND; @@ -282,4 +289,4 @@ PJ_DEF(pj_status_t) pjsip_siprec_get_metadata(pj_pool_t *pool, metadata->slen = metadata_part->body->len; return PJ_SUCCESS; -} +} \ No newline at end of file