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, Unknown } |
Public Member Functions | |
| ClientChannel (const Message &msg, const String &peerid) | |
| ClientChannel (const String &target, const NamedList ¶ms) | |
| 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) |
| const String & | party () 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) |
Static Public Member Functions | |
| static int | lookup (const char *notif, int def=Unknown) |
| static const char * | lookup (int notif, const char *def=0) |
Static Public Attributes | |
| static TokenDict | s_notification [] |
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 Attributes | |
| String | m_party |
| 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 |
Friends | |
| class | ClientDriver |
Channel used by client programs.
This class implements a Channel used by client programs
| 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 | |||
| ) |
Outgoing (to engine) constructor
| target | The target to call | |
| params | Call parameters |
| ClientChannel | ( | const String & | soundId | ) |
Constructor for utility channels used to play notifications
| soundId | The id of the sound to play |
| bool active | ( | ) | const [inline] |
Check if this channel is the active one
| virtual void callAccept | ( | Message & | msg | ) | [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 void callRejected | ( | const char * | error, | |
| const char * | reason, | |||
| const Message * | msg | |||
| ) | [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 bool callRouted | ( | Message & | msg | ) | [virtual] |
Notification on progress of routing incoming call
| msg | Notification call.route message just after being dispatched |
Reimplemented from Channel.
| bool conference | ( | ) | const [inline] |
Check if this channel is in conference
| virtual void connected | ( | const char * | reason | ) | [protected, virtual] |
Connect notification method.
| reason | Text that describes connect reason. |
Reimplemented from Channel.
| virtual void destroyed | ( | ) | [protected, virtual] |
Destruct notification, performs cleanups
Reimplemented from CallEndpoint.
| virtual void disconnected | ( | bool | final, | |
| const char * | reason | |||
| ) | [protected, virtual] |
Disconnect notification method.
| final | True if this disconnect was called from the destructor. | |
| reason | Text that describes disconnect reason. |
Reimplemented from Channel.
| bool isNoticed | ( | ) | const [inline] |
Check if this channel was noticed
| void line | ( | int | newLine | ) |
Set this channel's line
| newLine | This channel's line |
| int line | ( | ) | const [inline] |
Get this channel's line
| static const char* lookup | ( | int | notif, | |
| const char * | def = 0 | |||
| ) | [inline, static] |
Lookup for a notification name
| notif | The notification's id | |
| def | Default value to return if not found |
References TelEngine::lookup().
| static int lookup | ( | const char * | notif, | |
| int | def = Unknown | |||
| ) | [inline, static] |
Lookup for a notification id
| notif | The notification's name | |
| def | Default value to return if not found |
References TelEngine::lookup().
| virtual bool msgAnswered | ( | Message & | msg | ) | [virtual] |
Notification on remote answered. Note that the answered flag will be set
| msg | Notification message |
Reimplemented from Channel.
| virtual bool msgDrop | ( | Message & | msg, | |
| const char * | reason | |||
| ) | [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 bool msgProgress | ( | Message & | msg | ) | [virtual] |
Notification on remote call making some progress, not enabled by default
| msg | Notification message |
Reimplemented from Channel.
| virtual bool msgRinging | ( | Message & | msg | ) | [virtual] |
Notification on remote ringing
| msg | Notification message |
Reimplemented from Channel.
| bool muted | ( | ) | const [inline] |
Check if this channel is muted
| void noticed | ( | ) |
Notice this channel. Enqueue a clientchan.update message
| const String& party | ( | ) | const [inline] |
Get the remote party of this channel
| const String& peerInFormat | ( | ) | const [inline] |
Get the peer source's data format
| const String& peerOutFormat | ( | ) | const [inline] |
Get the peer consumer's data format
| 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 |
| void setClientData | ( | RefObject * | obj = 0 |
) | [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 |
Init and start router for an outgoing (to engine), not utility, channel
| target | The target to call | |
| params | Call parameters |
| const String& transferId | ( | ) | const [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 |
TokenDict s_notification[] [static] |
Channel notifications dictionary
1.6.3