A common solution to these problems is to base64-encode SIP data, so as
to avoid any part of SIP grammar violating JSON encoding specs or
conflicting with a JSON delimiter.
However, I'm not sure if whatever Janus is will accept that.
On Sun, Apr 21, 2019 at 06:15:22PM +0000, David Dean wrote:
I'm trying to send an SDP from a SIP client to
Janus using JSON over HTTP.
The problem is that Janus is erroring on the SDP content with the following error:
JANUS HTTP: Get SDP for echo plugin: {#012 "janus": "error",#012
"error": {#012 "code": 454,#012 "reason":
"JSON error: on line 9: control character 0xd near '\"v=0'"#012
}#012} Result code 200
I tried using {s.escape.common} to escape any quotations, commas etc but it doesn't
appear to replace the control characters with newlines.
Any suggestions on how best to remove these control characters so that Janus will accept
the SDP over JSON?
Here is the relevant section of kamailio.cfg:
# HTTP: Request SDP for echo test plugin sdp_get("$avp(sdp)");
$var(res) = http_connect("janus",
"/janus/$var(JANUS-ID)/$var(ECHO-ID)", "application/json", "{
\"janus\" : \"message\", \"transaction\" :
\"testtesttest99\", \"body\" : {
\"audio\" : true }, \"jsep\" : {
\"type\" : \"offer\", \"sdp\" :
\"$(avp(sdp){s.escape.common})\" }}",
"$avp(janus-pluginsession)"); xlog("L_INFO",
"JANUS HTTP: Get SDP for echo plugin: $avp(janus-pluginsession) Result code
$var(res)\n");
_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users(a)lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
--
Alex Balashov | Principal | Evariste Systems LLC
Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free)
Web:
http://www.evaristesys.com/,
http://www.csrpswitch.com/