From a683e4e7e78754995065fc2961927c5653f83b78 Mon Sep 17 00:00:00 2001 From: Georgiewskiy Yuriy Date: Sat, 12 Dec 2009 16:33:38 +0000 Subject: [PATCH] add PI handling in alerting. git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@15936 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- src/mod/endpoints/mod_h323/changes.txt | 1 + src/mod/endpoints/mod_h323/mod_h323.cpp | 18 +++++++++++++++--- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/mod/endpoints/mod_h323/changes.txt b/src/mod/endpoints/mod_h323/changes.txt index 4a016a696d..f70a94bfae 100644 --- a/src/mod/endpoints/mod_h323/changes.txt +++ b/src/mod/endpoints/mod_h323/changes.txt @@ -1,3 +1,4 @@ +add PI handling in alerting. fix slow start handling move faststart to callproceeding due to some broken hardware not anderstand correclty faststart in progress. diff --git a/src/mod/endpoints/mod_h323/mod_h323.cpp b/src/mod/endpoints/mod_h323/mod_h323.cpp index e1069a1334..6516f430dc 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.18 + Version 0.0.19 */ #include "mod_h323.h" @@ -857,10 +857,22 @@ bool FSH323Connection::OnReceivedCapabilitySet(const H323Capabilities & remoteCa bool FSH323Connection::OnAlerting(const H323SignalPDU &alertingPDU, const PString &user){ - + PTRACE(4, "mod_h323\t======>PFSH323Connection::OnAlerting user = "<<(const char *)user<<" ["<<*this<<"]"); + unsigned pi; switch_status_t status = switch_channel_mark_ring_ready(m_fsChannel); PTRACE(4, "mod_h323\t----------->OnAlerting return = "<OnAlerting PI = "< 0){ + if ((m_rxChennel && m_txChennel) || (m_ChennelProgress && m_rxChennel)) + switch_channel_mark_pre_answered(m_fsChannel); + else{ + m_ChennelProgress = true; + } + } return ( status == SWITCH_STATUS_SUCCESS); } @@ -1530,7 +1542,7 @@ FSH323Connection * FSH323EndPoint::FSMakeCall(const PString & dest, void *userDa static switch_call_cause_t create_outgoing_channel(switch_core_session_t *session, switch_event_t *var_event, switch_caller_profile_t *outbound_profile, - switch_core_session_t **new_session, switch_memory_pool_t **pool, switch_originate_flag_t flags, switch_call_cause_t *cancel_cause){ + switch_core_session_t **new_session, switch_memory_pool_t **pool, switch_originate_flag_t flags,switch_call_cause_t *cancel_cause){ PTRACE(4, "mod_h323\t======>create_outgoing_channel DST NUMBER = "<destination_number); FSH323Connection * connection;