Added support to call controller to raise a Verify event when requested by descendants.
git-svn-id: http://voip.null.ro/svn/yate@1838 acf43c95-373e-0410-b603-e72c3f656dc1
This commit is contained in:
parent
97bea50166
commit
19b93078f4
|
@ -43,6 +43,7 @@ static TokenDict s_dictCicLock[] = {
|
||||||
SignallingCallControl::SignallingCallControl(const NamedList& params,
|
SignallingCallControl::SignallingCallControl(const NamedList& params,
|
||||||
const char* msgPrefix)
|
const char* msgPrefix)
|
||||||
: Mutex(true),
|
: Mutex(true),
|
||||||
|
m_verifyEvent(false),
|
||||||
m_circuits(0),
|
m_circuits(0),
|
||||||
m_cicLock(0),
|
m_cicLock(0),
|
||||||
m_strategy(SignallingCircuitGroup::Increment),
|
m_strategy(SignallingCircuitGroup::Increment),
|
||||||
|
@ -187,6 +188,14 @@ SignallingEvent* SignallingCallControl::getEvent(const Time& when)
|
||||||
return event;
|
return event;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Verify ?
|
||||||
|
if (m_verifyEvent) {
|
||||||
|
m_verifyEvent = false;
|
||||||
|
SignallingMessage* msg = new SignallingMessage;
|
||||||
|
SignallingEvent* event = new SignallingEvent(SignallingEvent::Verify,msg,this);
|
||||||
|
buildVerifyEvent(msg->params());
|
||||||
|
return event;
|
||||||
|
}
|
||||||
// Terminate if exiting and no more calls
|
// Terminate if exiting and no more calls
|
||||||
//TODO: Make sure we raise this event one time only
|
//TODO: Make sure we raise this event one time only
|
||||||
if (exiting() && !m_calls.skipNull())
|
if (exiting() && !m_calls.skipNull())
|
||||||
|
|
|
@ -793,6 +793,13 @@ protected:
|
||||||
SignallingCall* call = 0)
|
SignallingCall* call = 0)
|
||||||
{ return 0; }
|
{ return 0; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Build the parameters of a Verify event
|
||||||
|
* @param params The list of parameters to fill
|
||||||
|
*/
|
||||||
|
virtual void buildVerifyEvent(NamedList& params)
|
||||||
|
{}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Clear call list
|
* Clear call list
|
||||||
*/
|
*/
|
||||||
|
@ -829,6 +836,12 @@ protected:
|
||||||
*/
|
*/
|
||||||
String m_msgPrefix;
|
String m_msgPrefix;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Draw attention to call controller's user that something changed by
|
||||||
|
* raising a Verify event
|
||||||
|
*/
|
||||||
|
bool m_verifyEvent;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
SignallingCircuitGroup* m_circuits; // Circuit group
|
SignallingCircuitGroup* m_circuits; // Circuit group
|
||||||
int m_cicLock; // Flags to be locked when a circuit group is attached to this controller
|
int m_cicLock; // Flags to be locked when a circuit group is attached to this controller
|
||||||
|
@ -5291,6 +5304,12 @@ protected:
|
||||||
virtual SignallingEvent* processCircuitEvent(SignallingCircuitEvent& event,
|
virtual SignallingEvent* processCircuitEvent(SignallingCircuitEvent& event,
|
||||||
SignallingCall* call = 0);
|
SignallingCall* call = 0);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Build the parameters of a Verify event
|
||||||
|
* @param params The list of parameters to fill
|
||||||
|
*/
|
||||||
|
virtual void buildVerifyEvent(NamedList& params);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Length of the Circuit Identification Code in octets
|
* Length of the Circuit Identification Code in octets
|
||||||
*/
|
*/
|
||||||
|
@ -5348,6 +5367,7 @@ private:
|
||||||
int m_lockFlags; // Current request flags: blocking/unblocking,hw-failure/maintenance
|
int m_lockFlags; // Current request flags: blocking/unblocking,hw-failure/maintenance
|
||||||
unsigned int m_lockCicCode; // Current (un)blocking cic code
|
unsigned int m_lockCicCode; // Current (un)blocking cic code
|
||||||
String m_lockMap; // The sent circuit map (contains 1 element for single circuit request)
|
String m_lockMap; // The sent circuit map (contains 1 element for single circuit request)
|
||||||
|
bool m_lockChanged; // Lock changed flag used when building a Verify event
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue