From 2b081e22fa9fdee4b867cbfef3494ad805601126 Mon Sep 17 00:00:00 2001 From: Juha Heinanen Date: Thu, 3 Jan 2008 11:02:53 +0000 Subject: [PATCH] * Fixed OpenSER compatibility issues regarding t_uac_dlg and t_reply commands. git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@581 8eb893ce-cfd4-0310-b710-fb5ebe64c474 --- core/plug-in/unixsockctrl/UnixSocketAdapter.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/core/plug-in/unixsockctrl/UnixSocketAdapter.cpp b/core/plug-in/unixsockctrl/UnixSocketAdapter.cpp index 4512dad5..1f804600 100644 --- a/core/plug-in/unixsockctrl/UnixSocketAdapter.cpp +++ b/core/plug-in/unixsockctrl/UnixSocketAdapter.cpp @@ -476,15 +476,16 @@ string UnixSocketAdapter::serialize(const AmSipReply &reply, #else if (! reply.body.empty()) { if (extraHdrs.empty()) - bodyFrame += "."; + bodyFrame += ".\n"; // TODO: body already CRLF'ed? - bodyFrame += "\"" + reply.body + "\""; + bodyFrame += "\"" + reply.body + "\"\n"; } #endif } #ifdef OpenSER - extraHdrs = lf2crlf(escape(extraHdrs)); + if (! extraHdrs.empty()) + extraHdrs = "\"" + lf2crlf(escape(extraHdrs)) + "\"\n"; #endif msg += extraHdrs + bodyFrame; @@ -616,7 +617,7 @@ string UnixSocketAdapter::serialize(const AmSipRequest& req, extraHdrs += "User-Agent: " + AmConfig::Signature + "\n"; #ifdef OpenSER - extraHdrs = "\"" + lf2crlf(escape(extraHdrs)) + "\""; + extraHdrs = "\"" + lf2crlf(escape(extraHdrs)) + "\"\n"; #endif string bodyFrame; @@ -625,7 +626,8 @@ string UnixSocketAdapter::serialize(const AmSipRequest& req, + req.body + ".\n\n"; #else // is lf2crlf() needed?! (see function for replies) - bodyFrame = "\n" "\"" + lf2crlf(req.body) + "\""; + if (!req.body.empty()) + bodyFrame = "\"" + lf2crlf(req.body) + "\"\n"; #endif msg += extraHdrs + bodyFrame;