diff --git a/src/mod/endpoints/mod_h323/changes.txt b/src/mod/endpoints/mod_h323/changes.txt index 6da13d8580..1fcb58f055 100644 --- a/src/mod/endpoints/mod_h323/changes.txt +++ b/src/mod/endpoints/mod_h323/changes.txt @@ -1,3 +1,5 @@ +move faststart to callproceeding due to some broken hardware not anderstand + correclty faststart in progress. fix rtp timer initialisation. implement alerting-indication option and channel variable. implement progress-indication option and channel variable. diff --git a/src/mod/endpoints/mod_h323/mod_h323.cpp b/src/mod/endpoints/mod_h323/mod_h323.cpp index 3f96343b60..f18b8be141 100644 --- a/src/mod/endpoints/mod_h323/mod_h323.cpp +++ b/src/mod/endpoints/mod_h323/mod_h323.cpp @@ -1,5 +1,5 @@ /* - Version 0.0.16 + Version 0.0.17 */ #include "mod_h323.h" @@ -777,6 +777,29 @@ bool FSH323Connection::OnReceivedProgress(const H323SignalPDU &pdu) 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 = "<