| Yate
    | 
Channel used by client programs. More...
#include <yatecbase.h>
 
  
 | Public Types | |
| enum | Notification { Startup, Destroyed, Active, OnHold, Mute, Noticed, AddrChanged, Routed, Accepted, Rejected, Progressing, Ringing, Answered, Transfer, Conference, AudioSet, Unknown } | 
| enum | SlaveType { SlaveNone = 0, SlaveTransfer, SlaveConference } | 
| Public Member Functions | |
| ClientChannel (const Message &msg, const String &peerid) | |
| ClientChannel (const String &target, const NamedList ¶ms, int st=SlaveNone, const String &masterChan=String::empty()) | |
| ClientChannel (const String &soundId) | |
| bool | start (const String &target, const NamedList ¶ms) | 
| virtual bool | msgProgress (Message &msg) | 
| virtual bool | msgRinging (Message &msg) | 
| virtual bool | msgAnswered (Message &msg) | 
| virtual bool | msgDrop (Message &msg, const char *reason) | 
| virtual bool | callRouted (Message &msg) | 
| virtual void | callAccept (Message &msg) | 
| virtual void | callRejected (const char *error, const char *reason, const Message *msg) | 
| void | callAnswer (bool setActive=true) | 
| int | slave () const | 
| ObjList & | slaves () | 
| unsigned int | slavesCount () const | 
| void | addSlave (const String &sid) | 
| void | removeSlave (const String &sid) | 
| const String & | master () const | 
| const NamedList & | clientParams () const | 
| const String & | party () const | 
| const String & | partyName () const | 
| bool | conference () const | 
| const String & | transferId () const | 
| RefObject * | clientData () const | 
| void | setClientData (RefObject *obj=0) | 
| bool | setMedia (bool open=false, bool replace=false) | 
| bool | setActive (bool active, bool update=true) | 
| bool | setMuted (bool on, bool update=true) | 
| void | setTransfer (const String &target=String::empty()) | 
| void | setConference (const String &target=String::empty()) | 
| const String & | peerOutFormat () const | 
| const String & | peerInFormat () const | 
| bool | active () const | 
| bool | muted () const | 
| bool | isNoticed () const | 
| void | noticed () | 
| int | line () const | 
| void | line (int newLine) | 
| void | update (int notif, bool chan=true, bool updatePeer=true, const char *engineMsg=0, bool minimal=false, bool data=false) | 
| void | getReconnPeer (String &buf) | 
| bool | hasReconnPeer () | 
| CallEndpoint * | getReconnPeer (bool ref=true) | 
| void | dropReconnPeer (const char *reason=0) | 
|  Public Member Functions inherited from Channel | |
| virtual | ~Channel () | 
| virtual void * | getObject (const String &name) const | 
| virtual void | complete (Message &msg, bool minimal=false) const | 
| Message * | message (const char *name, bool minimal=false, bool data=false) | 
| Message * | message (const char *name, const NamedList *original, const char *params=0, bool minimal=false, bool data=false) | 
| Message * | message (const char *name, const NamedList &original, const char *params=0, bool minimal=false, bool data=false) | 
| virtual bool | msgTone (Message &msg, const char *tone) | 
| virtual bool | msgText (Message &msg, const char *text) | 
| virtual bool | msgTransfer (Message &msg) | 
| virtual bool | msgUpdate (Message &msg) | 
| virtual bool | msgMasquerade (Message &msg) | 
| virtual void | msgStatus (Message &msg) | 
| virtual bool | msgControl (Message &msg) | 
| virtual void | checkTimers (Message &msg, const Time &tmr) | 
| virtual bool | callPrerouted (Message &msg, bool handled) | 
| virtual void | callConnect (Message &msg) | 
| virtual bool | setDebug (Message &msg) | 
| const String & | status () const | 
| const String & | address () const | 
| bool | isOutgoing () const | 
| bool | isIncoming () const | 
| bool | isAnswered () const | 
| const char * | direction () const | 
| Driver * | driver () const | 
| u_int64_t | timeout () const | 
| void | timeout (u_int64_t tout) | 
| u_int64_t | maxcall () const | 
| void | maxcall (u_int64_t tout) | 
| void | setMaxcall (const Message &msg, int defTout=-1) | 
| void | setMaxcall (const Message *msg, int defTout=-1) | 
| u_int64_t | maxPDD () const | 
| void | maxPDD (u_int64_t tout) | 
| void | setMaxPDD (const Message &msg) | 
| const String & | targetid () const | 
| const String & | billid () const | 
| void | initChan () | 
| bool | startRouter (Message *msg) | 
| void | filterDebug (const String &item) | 
| const NamedList & | parameters () const | 
| void | setChanParams (const NamedList &list, bool in=false) | 
| void | copyChanParams (NamedList &list) const | 
| virtual void | dispatched (const Message &msg, bool handled) | 
|  Public Member Functions inherited from CallEndpoint | |
| virtual const String & | toString () const | 
| const String & | id () const | 
| CallEndpoint * | getPeer () const | 
| bool | getPeerId (String &id) const | 
| String | getPeerId () const | 
| bool | getLastPeerId (String &id) const | 
| void | setLastPeerId () | 
| Mutex * | mutex () const | 
| bool | connect (CallEndpoint *peer, const char *reason=0, bool notify=true) | 
| bool | disconnect (const char *reason=0, bool notify=true, const NamedList *params=0) | 
| bool | disconnect (const char *reason, const NamedList ¶ms) | 
| DataEndpoint * | getEndpoint (const String &type=CallEndpoint::audioType()) const | 
| DataEndpoint * | setEndpoint (const String &type=CallEndpoint::audioType()) | 
| void | clearEndpoint (const String &type=String::empty()) | 
| void | setSource (DataSource *source=0, const String &type=CallEndpoint::audioType()) | 
| DataSource * | getSource (const String &type=CallEndpoint::audioType()) const | 
| void | setConsumer (DataConsumer *consumer=0, const String &type=CallEndpoint::audioType()) | 
| DataConsumer * | getConsumer (const String &type=CallEndpoint::audioType()) const | 
| bool | clearData (DataNode *node, const String &type=CallEndpoint::audioType()) | 
|  Public Member Functions inherited from RefObject | |
| RefObject () | |
| virtual | ~RefObject () | 
| virtual bool | alive () const | 
| bool | ref () | 
| bool | deref () | 
| int | refcount () const | 
| virtual void | destruct () | 
|  Public Member Functions inherited from GenObject | |
| GenObject () | |
| virtual | ~GenObject () | 
| NamedCounter * | getObjCounter () const | 
| NamedCounter * | setObjCounter (NamedCounter *counter) | 
|  Public Member Functions inherited from DebugEnabler | |
| DebugEnabler (int level=TelEngine::debugLevel(), bool enabled=true) | |
| int | debugLevel () const | 
| int | debugLevel (int level) | 
| bool | debugEnabled () const | 
| void | debugEnabled (bool enable) | 
| const char * | debugName () const | 
| bool | debugAt (int level) const | 
| bool | debugChained () const | 
| void | debugChain (const DebugEnabler *chain=0) | 
| void | debugCopy (const DebugEnabler *original=0) | 
|  Public Member Functions inherited from MessageNotifier | |
| virtual | ~MessageNotifier () | 
| Static Public Member Functions | |
| static int | lookup (const char *notif, int def=Unknown) | 
| static const char * | lookup (int notif, const char *def=0) | 
| static int | lookupSlaveType (const char *notif, int def=SlaveNone) | 
|  Static Public Member Functions inherited from Channel | |
| static Mutex & | paramMutex () | 
| static unsigned int | allocId () | 
|  Static Public Member Functions inherited from CallEndpoint | |
| static Mutex & | commonMutex () | 
| static const String & | audioType () | 
|  Static Public Member Functions inherited from RefObject | |
| static bool | alive (const RefObject *obj) | 
| static bool | efficientIncDec () | 
|  Static Public Member Functions inherited from GenObject | |
| static void * | getObject (const String &name, const GenObject *obj) | 
| static bool | getObjCounting () | 
| static void | setObjCounting (bool enable) | 
| static NamedCounter * | getObjCounter (const String &name, bool create=true) | 
| static ObjList & | getObjCounters () | 
| Static Public Attributes | |
| static const TokenDict | s_notification [] | 
| static const TokenDict | s_slaveTypes [] | 
| Protected Member Functions | |
| virtual void | destroyed () | 
| virtual void | connected (const char *reason) | 
| virtual void | disconnected (bool final, const char *reason) | 
| bool | peerHasSource (Message &msg) | 
| void | checkSilence () | 
|  Protected Member Functions inherited from Channel | |
| Channel (Driver *driver, const char *id=0, bool outgoing=false) | |
| Channel (Driver &driver, const char *id=0, bool outgoing=false) | |
| void | cleanup () | 
| void | dropChan () | 
| virtual void | zeroRefs () | 
| virtual void | setDisconnect (const NamedList *params) | 
| virtual void | endDisconnect (const Message &msg, bool handled) | 
| virtual void | setId (const char *newId) | 
| virtual Message * | getDisconnect (const char *reason) | 
| void | status (const char *newstat) | 
| virtual void | statusParams (String &str) | 
| void | setOutgoing (bool outgoing=true) | 
| bool | dtmfSequence (Message &msg) | 
| bool | dtmfEnqueue (Message *msg) | 
| bool | dtmfInband (const char *tone) | 
| bool | toneDetect (const char *sniffer=0) | 
| NamedList & | parameters () | 
|  Protected Member Functions inherited from CallEndpoint | |
| CallEndpoint (const char *id=0) | |
| void | setPeer (CallEndpoint *peer, const char *reason=0, bool notify=true, const NamedList *params=0) | 
| void | setEndpoint (DataEndpoint *endPoint) | 
|  Protected Member Functions inherited from RefObject | |
| bool | resurrect () | 
|  Protected Member Functions inherited from DebugEnabler | |
| void | debugName (const char *name) | 
| Protected Attributes | |
| int | m_slave | 
| String | m_master | 
| String | m_party | 
| String | m_partyName | 
| String | m_peerOutFormat | 
| String | m_peerInFormat | 
| String | m_reason | 
| String | m_peerId | 
| bool | m_noticed | 
| int | m_line | 
| bool | m_active | 
| bool | m_silence | 
| bool | m_conference | 
| bool | m_muted | 
| String | m_transferId | 
| RefObject * | m_clientData | 
| bool | m_utility | 
| String | m_soundId | 
| ObjList | m_slaves | 
| NamedList | m_clientParams | 
|  Protected Attributes inherited from Channel | |
| String | m_status | 
| String | m_address | 
| String | m_targetid | 
| String | m_billid | 
| bool | m_answered | 
|  Protected Attributes inherited from CallEndpoint | |
| ObjList | m_data | 
| Mutex * | m_mutex | 
| Friends | |
| class | ClientDriver | 
| enum Notification | 
Channel notifications
| ClientChannel | ( | const Message & | msg, | 
| const String & | peerid | ||
| ) | 
Incoming (from engine) constructor
| msg | The call.execute message | 
| peerid | The peer's id | 
| ClientChannel | ( | const String & | target, | 
| const NamedList & | params, | ||
| int | st = SlaveNone, | ||
| const String & | masterChan = String::empty() | ||
| ) | 
Outgoing (to engine) constructor
| target | The target to call | 
| params | Call parameters | 
| st | Optional slave | 
| masterChan | Master channel id if slave, ignored otherwise | 
| 
 | explicit | 
Constructor for utility channels used to play notifications
| soundId | The id of the sound to play | 
| 
 | inline | 
Check if this channel is the active one
| 
 | inline | 
Add a slave id. This method is thread safe
| sid | Slave id to add | 
References ObjList::append(), and ObjList::find().
| 
 | virtual | 
Notification on success of incoming call
| msg | Notification call.execute message just after being dispatched | 
Reimplemented from Channel.
| void callAnswer | ( | bool | setActive = true | ) | 
Answer an incoming call. Set media channels. Enqueue a clientchan.update message
| setActive | True to activate the channel | 
| 
 | virtual | 
Notification on failure of incoming call
| error | Standard error keyword | 
| reason | Textual failure reason | 
| msg | Pointer to message causing the rejection, if any | 
Reimplemented from Channel.
| 
 | virtual | 
Notification on progress of routing incoming call
| msg | Notification call.route message just after being dispatched | 
Reimplemented from Channel.
| 
 | inline | 
Retrieve channel client parameters
| 
 | inline | 
Check if this channel is in conference
| 
 | protectedvirtual | 
Connect notification method.
| reason | Text that describes connect reason. | 
Reimplemented from Channel.
| 
 | protectedvirtual | 
Destruct notification, performs cleanups
Reimplemented from CallEndpoint.
| 
 | protectedvirtual | 
Disconnect notification method.
| final | True if this disconnect was called from the destructor. | 
| reason | Text that describes disconnect reason. | 
Reimplemented from Channel.
| void dropReconnPeer | ( | const char * | reason = 0 | ) | 
Drop peer used to reconnect
| 
 | inline | 
Retrieve peer used to reconnect. This method is thread safe
| buf | Destination buffer | 
Referenced by ClientChannel::hasReconnPeer().
| CallEndpoint* getReconnPeer | ( | bool | ref = true | ) | 
Get peer used to reconnect
| ref | True to return a referenced pointer | 
| 
 | inline | 
Check if the peer used to reconnect is alive
References ClientChannel::getReconnPeer().
| 
 | inline | 
Check if this channel was noticed
| 
 | inline | 
Get this channel's line
| void line | ( | int | newLine | ) | 
Set this channel's line
| newLine | This channel's line | 
| 
 | inlinestatic | 
Lookup for a notification id
| notif | The notification's name | 
| def | Default value to return if not found | 
References TelEngine::lookup(), and ClientChannel::s_notification.
| 
 | inlinestatic | 
Lookup for a notification name
| notif | The notification's id | 
| def | Default value to return if not found | 
References TelEngine::lookup(), and ClientChannel::s_notification.
| 
 | inlinestatic | 
Lookup for a slave type
| notif | The slave type name | 
| def | Default value to return if not found | 
References TelEngine::lookup(), and ClientChannel::s_slaveTypes.
| 
 | inline | 
Get the master channel id if any
| 
 | virtual | 
Notification on remote answered. Note that the answered flag will be set
| msg | Notification message | 
Reimplemented from Channel.
| 
 | virtual | 
Notification on current call drop request
| msg | Notification message | 
| reason | Pointer to drop reason text or NULL if none provided | 
Reimplemented from Channel.
| 
 | virtual | 
Notification on remote call making some progress, not enabled by default
| msg | Notification message | 
Reimplemented from Channel.
| 
 | virtual | 
Notification on remote ringing
| msg | Notification message | 
Reimplemented from Channel.
| 
 | inline | 
Check if this channel is muted
| void noticed | ( | ) | 
Notice this channel. Enqueue a clientchan.update message
| 
 | inline | 
Get the remote party of this channel
| 
 | inline | 
Get the remote party name of this channel
| 
 | inline | 
Get the peer source's data format
| 
 | inline | 
Get the peer consumer's data format
| 
 | inline | 
Remove a slave id. This method is thread safe
| sid | Slave id to remove | 
References ObjList::remove().
| bool setActive | ( | bool | active, | 
| bool | update = true | ||
| ) | 
Set/reset this channel's data source/consumer
| active | True to set active, false to set inactive (mute) | 
| update | True to enqueue an update message | 
| 
 | inline | 
Set/reset the client data. If a new client data is set its reference counter is increased
| obj | The new client data | 
References TelEngine::destruct().
| void setConference | ( | const String & | target = String::empty() | ) | 
Set/reset the conference data. Enqueue clientchan.update if changed. Open media when reset if the channel is active and answered
| target | The confeernce room's name. Leave it blank to reset | 
| bool setMedia | ( | bool | open = false, | 
| bool | replace = false | ||
| ) | 
Attach/detach media channels
| open | True to open, false to close | 
| replace | True to replace media if already open. Ignored if open is false | 
| bool setMuted | ( | bool | on, | 
| bool | update = true | ||
| ) | 
Set/reset this channel's muted flag. Set media if 'on' is false and the channel is active
| on | True to reset outgoing media, false to set outgoing media | 
| update | True to enqueue an update message | 
| void setTransfer | ( | const String & | target = String::empty() | ) | 
Set/reset the transferred peer's id. Enqueue clientchan.update if changed. Open media when reset if the channel is active and answered
| target | The transferred peer's id. Leave it blank to reset | 
| 
 | inline | 
Get the slave type of this channel
| 
 | inline | 
Retrieve channel slaves. This method is not thread safe
| 
 | inline | 
Retrieve channel slaves number. This method is thread safe
References ObjList::count().
Init and start router for an outgoing (to engine), not utility, channel
| target | The target to call | 
| params | Call parameters | 
| 
 | inline | 
Get the transferred peer's id
| void update | ( | int | notif, | 
| bool | chan = true, | ||
| bool | updatePeer = true, | ||
| const char * | engineMsg = 0, | ||
| bool | minimal = false, | ||
| bool | data = false | ||
| ) | 
Update channel. Enqueue a clientchan.update message with the given operation. Enqueue other channel status messages if required
| notif | The value of the notify parameter | 
| chan | Set the channel as message's user data | 
| updatePeer | True to update peer's data formats | 
| engineMsg | Optional message to enqueue in the engine | 
| minimal | Set to true to fill in only a minimum of engine message's parameters | 
| data | Set the channel as engine message's user data | 
| 
 | static | 
Channel notifications dictionary
Referenced by ClientChannel::lookup().
| 
 | static | 
Channel notifications dictionary
Referenced by ClientChannel::lookupSlaveType().
 1.8.8
 1.8.8