Stefan Sayer wrote:
>> Overall, the sems web conference has been very predictable and useful
>> asides from this problem - and the other problem that the dial-out
>
> nice. out of curiosity, which version do you use?
>
sems-1.0.0
>> function assumes attendees are in the same call domain, which is not
>> helpful in a generic conference.
> this can be fixed easily in the WebconferenceFactory::dialout
> function. I have added a tracker item so this does not get lost -
> hopefully I will have some time to implement missing features. If not,
> I am always open for patches.
>
Here is a rough work-around that I am using - as a new function. I
dropped the credentials stuff as I don't need it so it is not probably
not suitable for patch.
void WebConferenceFactory::shortDialout(const AmArg& args, AmArg& ret)
{
for (int i=0;i<4;i++)
assertArgCStr(args.get(i));
string room = args.get(0).asCStr();
string adminpin = args.get(1).asCStr();
string to = args.get(2).asCStr();
string from = args.get(3).asCStr();
// check adminpin
rooms_mut.lock();
ConferenceRoom* r = getRoom(room, adminpin);
rooms_mut.unlock();
if (NULL == r) {
ret.push(1);
ret.push("wrong adminpin");
ret.push("");
return;
}
DBG("Short dialout room '%s', from '%s', to '%s'\n",
room.c_str(), from.c_str(), to.c_str());
AmArg* a = new AmArg();
a->setBorrowedPointer(new UACAuthCred("", "", ""));
AmSession* s = AmUAC::dialout(room.c_str(), APP_NAME, "sip:" + to,
"\"Conf " + room + "\" <sip:" + from + ">",
"sip:" + from, "<sip:" + to + ">",
"", "", a);
if (s) {
string localtag = s->getLocalTag();
ret.push(0);
ret.push("OK");
ret.push(localtag.c_str());
newParticipant(room, localtag, to);
updateStatus(room, localtag,
ConferenceRoomParticipant::Connecting,
"INVITE");
}
else {
ret.push(1);
ret.push("internal error");
ret.push("");
}
}
I had problems with WebConference if I used the abbreviated form of
AmUAC::dialout so I included a null UACAuthCred. (I think that was
because WebConference expects a value for UACAuthCred for deleting or
searching? even though it is not used?)
Also, if there is a wishlist somewhere for new sems features, can I add
a couple?
- subscribe/notify publishing methods similar to sipXtapi methods
sipxPublisherCreate, sipxPublisherDestroy, sipxPublisherUpdate - i.e. A
simple efficient, no fuss way of signalling BLF (or anything else) on a
LAN without setting up external servers.
- support for hardware sound I/O - e.g. feed in sound from a sound card
or copy audio to a speaker.
Thanks
Jeremy
_______________________________________________
Sems mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/sems