mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-08-02 23:21:42 +00:00
move faststart to callproceeding due to some broken hardware not anderstand correclty faststart in progress.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@15906 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
c0b178bdef
commit
2375a250ae
@ -1,3 +1,5 @@
|
|||||||
|
move faststart to callproceeding due to some broken hardware not anderstand
|
||||||
|
correclty faststart in progress.
|
||||||
fix rtp timer initialisation.
|
fix rtp timer initialisation.
|
||||||
implement alerting-indication option and channel variable.
|
implement alerting-indication option and channel variable.
|
||||||
implement progress-indication option and channel variable.
|
implement progress-indication option and channel variable.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
Version 0.0.16
|
Version 0.0.17
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "mod_h323.h"
|
#include "mod_h323.h"
|
||||||
@ -777,6 +777,29 @@ bool FSH323Connection::OnReceivedProgress(const H323SignalPDU &pdu)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool FSH323Connection::OnReceivedSignalSetup(const H323SignalPDU & setupPDU){
|
||||||
|
|
||||||
|
PTRACE(4, "mod_h323\t======>FSH323Connection::OnReceivedSignalSetup ["<<*this<<"]");
|
||||||
|
|
||||||
|
if (!H323Connection::OnReceivedSignalSetup(setupPDU)) return false;
|
||||||
|
|
||||||
|
H323SignalPDU callProceedingPDU;
|
||||||
|
H225_CallProceeding_UUIE & callProceeding = callProceedingPDU.BuildCallProceeding(*this);
|
||||||
|
|
||||||
|
if (SendFastStartAcknowledge(callProceeding.m_fastStart))
|
||||||
|
callProceeding.IncludeOptionalField(H225_CallProceeding_UUIE::e_fastStart);
|
||||||
|
if (!WriteSignalPDU(callProceedingPDU))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool FSH323Connection::OnSendCallProceeding(H323SignalPDU & callProceedingPDU){
|
||||||
|
PTRACE(4, "mod_h323\t======>FSH323Connection::OnSendCallProceeding fastStartState = "<<FastStartStateNames[fastStartState]<<" ["<<*this<<"]");
|
||||||
|
|
||||||
|
return false;
|
||||||
|
// return true;
|
||||||
|
}
|
||||||
|
|
||||||
bool FSH323Connection::OnSendReleaseComplete(H323SignalPDU & pdu)
|
bool FSH323Connection::OnSendReleaseComplete(H323SignalPDU & pdu)
|
||||||
{
|
{
|
||||||
@ -840,10 +863,12 @@ void FSH323Connection::AnsweringCall(AnswerCallResponse response){
|
|||||||
H323SignalPDU want245PDU;
|
H323SignalPDU want245PDU;
|
||||||
H225_Progress_UUIE & prog = want245PDU.BuildProgress(*this);
|
H225_Progress_UUIE & prog = want245PDU.BuildProgress(*this);
|
||||||
PBoolean sendPDU = TRUE;
|
PBoolean sendPDU = TRUE;
|
||||||
|
PTRACE(2, "H323\tmediaWaitForConnect = FALSE ");
|
||||||
if (SendFastStartAcknowledge(prog.m_fastStart))
|
/* if (SendFastStartAcknowledge(prog.m_fastStart)){
|
||||||
|
PTRACE(2, "H323\tSendFastStartAcknowledge = TRUE ");
|
||||||
prog.IncludeOptionalField(H225_Progress_UUIE::e_fastStart);
|
prog.IncludeOptionalField(H225_Progress_UUIE::e_fastStart);
|
||||||
else {
|
} else {
|
||||||
|
PTRACE(2, "H323\tSendFastStartAcknowledge = FALSE ");
|
||||||
// See if aborted call
|
// See if aborted call
|
||||||
if (connectionState == ShuttingDownConnection){
|
if (connectionState == ShuttingDownConnection){
|
||||||
Unlock();
|
Unlock();
|
||||||
@ -863,6 +888,7 @@ void FSH323Connection::AnsweringCall(AnswerCallResponse response){
|
|||||||
else
|
else
|
||||||
sendPDU = FALSE;
|
sendPDU = FALSE;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
const char *vpi = switch_channel_get_variable(m_fsChannel, "progress-indication");
|
const char *vpi = switch_channel_get_variable(m_fsChannel, "progress-indication");
|
||||||
unsigned pi = 8;
|
unsigned pi = 8;
|
||||||
if (vpi){
|
if (vpi){
|
||||||
|
@ -213,8 +213,10 @@ class FSH323Connection:public H323Connection {
|
|||||||
);
|
);
|
||||||
virtual PBoolean OnStartLogicalChannel(H323Channel& channel);
|
virtual PBoolean OnStartLogicalChannel(H323Channel& channel);
|
||||||
virtual PBoolean OnCreateLogicalChannel(const H323Capability& capability, H323Channel::Directions dir, unsigned& errorCode);
|
virtual PBoolean OnCreateLogicalChannel(const H323Capability& capability, H323Channel::Directions dir, unsigned& errorCode);
|
||||||
|
virtual bool OnReceivedSignalSetup(const H323SignalPDU & setupPDU);
|
||||||
virtual void OnReceivedReleaseComplete(const H323SignalPDU & pdu);
|
virtual void OnReceivedReleaseComplete(const H323SignalPDU & pdu);
|
||||||
virtual bool OnReceivedProgress(const H323SignalPDU &);
|
virtual bool OnReceivedProgress(const H323SignalPDU &);
|
||||||
|
virtual bool OnSendCallProceeding(H323SignalPDU & callProceedingPDU);
|
||||||
virtual bool OnSendReleaseComplete(H323SignalPDU & pdu);
|
virtual bool OnSendReleaseComplete(H323SignalPDU & pdu);
|
||||||
virtual PBoolean OpenLogicalChannel(const H323Capability& capability, unsigned sessionID, H323Channel::Directions dir);
|
virtual PBoolean OpenLogicalChannel(const H323Capability& capability, unsigned sessionID, H323Channel::Directions dir);
|
||||||
void setRemoteAddress(const char* remoteIP, WORD remotePort);
|
void setRemoteAddress(const char* remoteIP, WORD remotePort);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user