a solution to H323 endpoint => FS => SIP user no audio issue
is to disable a wait for tx Audio ... for case SWITCH_MESSAGE_INDICATE_ANSWER:{
//m_txAudioOpened.Wait();
case SWITCH_MESSAGE_INDICATE_ANSWER:{
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CONSOLE, "ANSWER: we got Answer event\n");
if (switch_channel_test_flag(channel, CF_OUTBOUND)) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CONSOLE, "ANSWER: we got Answer event - CF_OUTBOUND
\n");
return SWITCH_STATUS_FALSE;
}
AnsweringCall(H323Connection::AnswerCallNow);
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CONSOLE, "ANSWER: suppose the call is Answered Now\n");
PTRACE(4, "mod_h323\tMedia started on connection " << *this);
// test
//switch_channel_mark_answered(m_fsChannel);
m_rxAudioOpened.Wait();
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CONSOLE, "ANSWER: wait for m_rxAudioOpened\n");
//m_txAudioOpened.Wait();
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CONSOLE, "ANSWER: we disable wait for m_txAudioOpened\n");
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CONSOLE, "ANSWER: were waiting for rx/tx AudioOpen\n");
if (!switch_channel_test_flag(m_fsChannel, CF_EARLY_MEDIA)) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CONSOLE, "ANSWER: we have early media\n");
PTRACE(4, "mod_h323\t-------------------->switch_channel_mark_answered(m_fsChannel) " << *this);
switch_channel_mark_answered(m_fsChannel);
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CONSOLE, "ANSWER: answered in early Media\n");
}
break;
}
Now, I'm able to both originate and terminate cals with 2-way audio...
the signaling looks correct...
outgoing:
1369.425046 10.4.62.7 -> 10.4.62.89 SIP/SDP Request: INVITE sip:1001@10.4.62.89;transport=udp, with session description
1369.426255 10.4.62.7 -> 10.4.62.31 H.225.0 CS: alerting
1369.435950 10.4.62.89 -> 10.4.62.7 SIP Status: 100 Trying
1369.449065 10.4.62.89 -> 10.4.62.7 SIP Status: 180 Ringing
1369.605109 10.4.62.7 -> 10.4.62.31 H.225.0 CS: progress OpenLogicalChannel
1369.609788 10.4.62.31 -> 10.4.62.7 H.225.0/H.245 CS: facility terminalCapabilitySet
1369.610489 10.4.62.31 -> 10.4.62.7 H.225.0/H.245 CS: facility masterSlaveDetermination
1369.619071 10.4.62.7 -> 10.4.62.31 H.225.0/H.245 CS: empty terminalCapabilitySet
1369.620349 10.4.62.7 -> 10.4.62.31 H.225.0/H.245 CS: empty terminalCapabilitySetAck
1369.623215 10.4.62.31 -> 10.4.62.7 H.225.0/H.245 CS: facility terminalCapabilitySetAck
1369.625591 10.4.62.7 -> 10.4.62.31 H.225.0/H.245 CS: empty masterSlaveDeterminationAck
1369.628174 10.4.62.31 -> 10.4.62.7 H.225.0/H.245 CS: facility masterSlaveDeterminationAck
1370.966958 10.4.62.89 -> 10.4.62.7 SIP/SDP Status: 200 OK, with session description
1370.967431 10.4.62.7 -> 10.4.62.89 SIP Request: ACK sip:1001@10.4.62.89;transport=udp
1370.975172 10.4.62.7 -> 10.4.62.31 H.225.0 CS: connect
1372.354383 10.4.62.89 -> 10.4.62.7 SIP Request: BYE sip:mod_sofia@10.4.62.7:5060
1372.355147 10.4.62.7 -> 10.4.62.89 SIP Status: 200 OK
1372.392904 10.4.62.7 -> 10.4.62.31 H.225.0/H.245 CS: releaseComplete endSessionCommand
1372.397302 10.4.62.31 -> 10.4.62.7 H.225.0 CS: releaseComplete
incoming:
1502.817154 10.4.62.31 -> 10.4.62.7 H.225.0 CS: setup OpenLogicalChannel
1502.833732 10.4.62.7 -> 10.4.62.31 H.225.0 CS: callProceeding
1502.850909 10.4.62.7 -> 10.4.62.89 SIP/SDP Request: INVITE sip:1001@10.4.62.89;transport=udp, with session description
1502.851758 10.4.62.7 -> 10.4.62.31 H.225.0 CS: alerting
1502.861828 10.4.62.89 -> 10.4.62.7 SIP Status: 100 Trying
1502.875127 10.4.62.89 -> 10.4.62.7 SIP Status: 180 Ringing
1503.033258 10.4.62.7 -> 10.4.62.31 H.225.0 CS: progress OpenLogicalChannel
1503.037908 10.4.62.31 -> 10.4.62.7 H.225.0/H.245 CS: facility terminalCapabilitySet
1503.038608 10.4.62.31 -> 10.4.62.7 H.225.0/H.245 CS: facility masterSlaveDetermination
1503.050154 10.4.62.7 -> 10.4.62.31 H.225.0/H.245 CS: empty terminalCapabilitySet
1503.051381 10.4.62.7 -> 10.4.62.31 H.225.0/H.245 CS: empty terminalCapabilitySetAck
1503.054297 10.4.62.31 -> 10.4.62.7 H.225.0/H.245 CS: facility terminalCapabilitySetAck
1503.054917 10.4.62.7 -> 10.4.62.31 H.225.0/H.245 CS: empty masterSlaveDeterminationAck
1503.057933 10.4.62.31 -> 10.4.62.7 H.225.0/H.245 CS: facility masterSlaveDeterminationAck
1505.485493 10.4.62.89 -> 10.4.62.7 SIP/SDP Status: 200 OK, with session description
1505.486018 10.4.62.7 -> 10.4.62.89 SIP Request: ACK sip:1001@10.4.62.89;transport=udp
1505.493611 10.4.62.7 -> 10.4.62.31 H.225.0 CS: connect
1509.565959 10.4.62.89 -> 10.4.62.7 SIP Request: BYE sip:mod_sofia@10.4.62.7:5060
1509.566722 10.4.62.7 -> 10.4.62.89 SIP Status: 200 OK
1509.577435 10.4.62.7 -> 10.4.62.31 H.225.0/H.245 CS: releaseComplete endSessionCommand
1509.582066 10.4.62.31 -> 10.4.62.7 H.225.0 CS: releaseComplete
... i still need to check the CDRs as well but here we are :)