diff --git a/engine/Channel.cpp b/engine/Channel.cpp index 54598b77..b6dfe844 100644 --- a/engine/Channel.cpp +++ b/engine/Channel.cpp @@ -763,7 +763,7 @@ void Driver::msgStatus(Message& msg) void Driver::statusModule(String& str) { Module::statusModule(str); - str.append("format=Status|Address",","); + str.append("format=Status|Address|Peer",","); } void Driver::statusParams(String& str) @@ -780,7 +780,7 @@ void Driver::statusChannels(String& str) ObjList* l = m_chans.skipNull(); for (; l; l=l->skipNext()) { Channel* c = static_cast(l->get()); - str.append(c->id(),",") << "=" << c->status() << "|" << c->address(); + str.append(c->id(),",") << "=" << c->status() << "|" << c->address() << "|" << c->getPeerId(); } } diff --git a/modules/conference.cpp b/modules/conference.cpp index f0f7d4a0..609c40fe 100644 --- a/modules/conference.cpp +++ b/modules/conference.cpp @@ -180,6 +180,7 @@ ConfChan::ConfChan(const String& name) Lock lock(&__plugin); ConfRoom* room = ConfRoom::get(name,true); if (room) { + m_address = name; setSource(room); room->deref(); room->channels().append(this); diff --git a/yatephone.h b/yatephone.h index 3406b3f0..1bb41bb1 100644 --- a/yatephone.h +++ b/yatephone.h @@ -801,6 +801,13 @@ public: inline CallEndpoint* getPeer() const { return m_peer; } + /** + * Get the connected peer call id + * @return Connected peer call id or empty string + */ + inline const String& getPeerId() const + { return m_peer ? m_peer->id() : String::empty(); } + /** * Connect the call endpoint to a peer. * @param peer Pointer to the peer call endpoint.