From 9476f0ebbfb7e5e648d0f80967290b6d28c467cd Mon Sep 17 00:00:00 2001 From: Stefan Sayer Date: Mon, 8 Dec 2008 18:15:44 +0000 Subject: [PATCH] SEMS-42: callee domain optionally specified in webconference dialout git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@1180 8eb893ce-cfd4-0310-b710-fb5ebe64c474 --- apps/webconference/WebConference.cpp | 33 ++++++++++++++++++---------- doc/Readme.webconference | 2 +- 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/apps/webconference/WebConference.cpp b/apps/webconference/WebConference.cpp index d9e9a226..7c34c1e1 100644 --- a/apps/webconference/WebConference.cpp +++ b/apps/webconference/WebConference.cpp @@ -478,26 +478,35 @@ void WebConferenceFactory::dialout(const AmArg& args, AmArg& ret) { string domain = args.get(4).asCStr(); string auth_user = args.get(5).asCStr(); string auth_pwd = args.get(6).asCStr(); + string callee_domain; string headers; try { - assertArgCStr(args.get(7)); - headers = args.get(7).asCStr(); - int i, len; - len = headers.length(); - for (i = 0; i < len; i++) { - if (headers[i] == '|') headers[i] = '\n'; - } - if (headers[len - 1] != '\n') { - headers += '\n'; - } + assertArgCStr(args.get(7)); + headers = args.get(7).asCStr(); + int i, len; + len = headers.length(); + for (i = 0; i < len; i++) { + if (headers[i] == '|') headers[i] = '\n'; + } + if (headers[len - 1] != '\n') { + headers += '\n'; + } + } + catch (AmArg::OutOfBoundsException &e) { + headers = ""; + } + + try { + assertArgCStr(args.get(8)); + callee_domain = args.get(8).asCStr(); } catch (AmArg::OutOfBoundsException &e) { - headers = ""; + callee_domain = domain; } string from = "sip:" + from_user + "@" + domain; - string to = "sip:" + callee + "@" + domain; + string to = "sip:" + callee + "@" + callee_domain; // check adminpin rooms_mut.lock(); diff --git a/doc/Readme.webconference b/doc/Readme.webconference index d6a8886a..d8f98a2c 100644 --- a/doc/Readme.webconference +++ b/doc/Readme.webconference @@ -60,7 +60,7 @@ roomInfo(string room, string adminpin): ---- dialout(string room, string adminpin, string callee, string from_user, string domain, - string auth_user, string auth_pwd [, headers]) : + string auth_user, string auth_pwd [, headers [, callee_domain]]) : int code, string result, string callid code/result: