[Freeswitch-dev] [Freeswitch-users] Fwd: mod_opal - call charged before H.225 connect

Tihomir Culjaga tculjaga at gmail.com
Wed Oct 21 09:16:28 PDT 2009


why "on_my_hangup" is not called ?


static switch_status_t on_my_hangup(switch_core_session_t *session){
        PTRACE(4, "mod_h323\t======>switch_status_t on_my_hangup ");
    switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CONSOLE, "KABUM =>
entering on_my_hangup\n");

    switch_channel_t *channel = switch_core_session_get_channel(session);
    h323_private_t *tech_pvt = (h323_private_t *)
switch_core_session_get_private(session);
    if (tech_pvt->me) {
                PTRACE(4, "mod_h323\t----->");
        Q931::CauseValues cause =
(Q931::CauseValues)switch_channel_get_cause_q850(channel);
        tech_pvt->me->SetQ931Cause(cause);
        tech_pvt->me->ClearCallSynchronous(NULL,
H323TranslateToCallEndReason(cause, UINT_MAX));
        tech_pvt->me = NULL;
    }

    return SWITCH_STATUS_SUCCESS;
}


//static switch_status_t on_my_hangup(switch_core_session_t *session);
static switch_status_t on_destroy(switch_core_session_t *session);


static switch_io_routines_t h323fs_io_routines = {
    /*.outgoing_channel */ create_outgoing_channel,
    /*.read_frame */ FSH323Connection::read_audio_frame,
    /*.write_frame */ FSH323Connection::write_audio_frame,
    /*.kill_channel */ FSH323Connection::kill_channel,
    /*.send_dtmf */ FSH323Connection::send_dtmf,
    /*.receive_message */ FSH323Connection::receive_message,
    /*.receive_event */ FSH323Connection::receive_event,
    /*.state_change */ FSH323Connection::state_change,
    /*.read_video_frame */ FSH323Connection::read_video_frame,
    /*.write_video_frame */ FSH323Connection::write_video_frame
};

static switch_state_handler_table_t h323fs_event_handlers = {
    /*.on_init */ FSH323Connection::on_init,
    /*.on_routing */ FSH323Connection::on_routing,
    /*.on_execute */ FSH323Connection::on_execute,
    /*.on_hangup */ on_my_hangup,
    /*.on_exchange_media */ FSH323Connection::on_exchange_media,
    /*.on_soft_execute */ FSH323Connection::on_soft_execute,
    /*.on_consume_media*/ NULL,
    /*.on_hibernate*/ NULL,
    /*.on_reset*/ NULL,
    /*.on_park*/ NULL,
    /*.on_reporting*/ NULL,
    /*.on_destroy*/ on_destroy
};



  }
2009-10-21 18:12:28.659411 [DEBUG] h323.cxx:4138
InternalEstablishedConnectionCheck: connectionState=HasExecutedSignalConnect
fastStartState=FastStartAcknowledged
2009-10-21 18:12:28.659411 [DEBUG] mod_h323.cpp:821
======>PFSH323Connection::OnEstablished [FSH323Connection]
2009-10-21 18:12:28.660476 [NOTICE] mod_h323.cpp:823 Channel [h323/1001] has
been answered
2009-10-21 18:12:28.660476 [DEBUG] switch_channel.c:182 h323/1001 receive
message [AUDIO_SYNC]
2009-10-21 18:12:28.660476 [DEBUG] mod_h323.cpp:907
======>FSH323Connection::receive_message MSG=20
2009-10-21 18:12:28.660476 [DEBUG] mod_h323.cpp:964 Received message 20 on
connection FSH323Connection
2009-10-21 18:12:28.660476 [DEBUG] mod_h323.cpp:952 Media started on
connection FSH323Connection
2009-10-21 18:12:30.795292 [NOTICE] sofia.c:322 Hangup sofia/internal/
sip:1001 at 10.4.62.89 <sip%3A1001 at 10.4.62.89> [CS_CONSUME_MEDIA]
[NORMAL_CLEARING]
2009-10-21 18:12:30.795292 [DEBUG] switch_channel.c:1683 Send signal
sofia/internal/sip:1001 at 10.4.62.89 <sip%3A1001 at 10.4.62.89> [KILL]
2009-10-21 18:12:30.795292 [DEBUG] switch_core_session.c:932 Send signal
sofia/internal/sip:1001 at 10.4.62.89 <sip%3A1001 at 10.4.62.89> [BREAK]
2009-10-21 18:12:30.797481 [DEBUG] switch_core_state_machine.c:503
(sofia/internal/sip:1001 at 10.4.62.89 <sip%3A1001 at 10.4.62.89>) State
CONSUME_MEDIA going to sleep
2009-10-21 18:12:30.797481 [DEBUG] switch_core_state_machine.c:398
(sofia/internal/sip:1001 at 10.4.62.89 <sip%3A1001 at 10.4.62.89>) Running State
Change CS_HANGUP
2009-10-21 18:12:30.797481 [DEBUG] switch_core_state_machine.c:434
(sofia/internal/sip:1001 at 10.4.62.89 <sip%3A1001 at 10.4.62.89>) State HANGUP
2009-10-21 18:12:30.797481 [DEBUG] mod_sofia.c:338 Channel sofia/internal/
sip:1001 at 10.4.62.89 <sip%3A1001 at 10.4.62.89> hanging up, cause:
NORMAL_CLEARING
2009-10-21 18:12:30.797481 [DEBUG] switch_core_state_machine.c:46
sofia/internal/sip:1001 at 10.4.62.89 <sip%3A1001 at 10.4.62.89> Standard HANGUP,
cause: NORMAL_CLEARING
2009-10-21 18:12:30.797481 [DEBUG] switch_core_state_machine.c:434
(sofia/internal/sip:1001 at 10.4.62.89 <sip%3A1001 at 10.4.62.89>) State HANGUP
going to sleep
2009-10-21 18:12:30.798570 [DEBUG] switch_core_state_machine.c:476
(sofia/internal/sip:1001 at 10.4.62.89 <sip%3A1001 at 10.4.62.89>) State Change
CS_HANGUP -> CS_REPORTING
2009-10-21 18:12:30.798570 [DEBUG] switch_core_session.c:932 Send signal
sofia/internal/sip:1001 at 10.4.62.89 <sip%3A1001 at 10.4.62.89> [BREAK]
2009-10-21 18:12:30.798570 [DEBUG] switch_core_state_machine.c:398
(sofia/internal/sip:1001 at 10.4.62.89 <sip%3A1001 at 10.4.62.89>) Running State
Change CS_REPORTING
2009-10-21 18:12:30.798570 [DEBUG] switch_core_state_machine.c:612
(sofia/internal/sip:1001 at 10.4.62.89 <sip%3A1001 at 10.4.62.89>) State REPORTING
2009-10-21 18:12:30.798570 [DEBUG] switch_core_state_machine.c:53
sofia/internal/sip:1001 at 10.4.62.89 <sip%3A1001 at 10.4.62.89> Standard
REPORTING, cause: NORMAL_CLEARING
2009-10-21 18:12:30.798570 [DEBUG] switch_core_state_machine.c:612
(sofia/internal/sip:1001 at 10.4.62.89 <sip%3A1001 at 10.4.62.89>) State REPORTING
going to sleep
2009-10-21 18:12:30.798570 [DEBUG] switch_core_state_machine.c:411
(sofia/internal/sip:1001 at 10.4.62.89 <sip%3A1001 at 10.4.62.89>) State Change
CS_REPORTING -> CS_DESTROY
2009-10-21 18:12:30.798570 [DEBUG] switch_core_session.c:1068 Session 2
(sofia/internal/sip:1001 at 10.4.62.89 <sip%3A1001 at 10.4.62.89>) Locked, Waiting
on external entities
2009-10-21 18:13:04.243274 [DEBUG] h323pdu.cxx:609 Receiving PDU [ip$
10.4.62.7:1720/ip$10.4.62.31:48729] :
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20091021/b7a63e0b/attachment.html 


More information about the FreeSWITCH-dev mailing list