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

Tihomir Culjaga tculjaga at gmail.com
Fri Oct 23 04:52:06 PDT 2009


>
> TC>3. can we control mediaWaitForConnect flag within setup message via
> config
> TC>file setting?
>
> what is mediaWaitForConnect flag, may be another trmin in h323?
>
>
>
If the calling endpoint sets the mediaWaitForConnect element to TRUE in the
Setup message, then
the called endpoint shall not send any media until after the Connect message
is sent.
The calling endpoint may begin transmitting media (according to the channels
opened) immediately
upon receiving a Q.931 message containing fastStart. Thus, the called
endpoint must be prepared to
immediately receive media on the channels it accepted in the Q.931 message
containing fastStart.
Note that national requirements may prohibit calling endpoints from
transmitting media prior to
receipt of a Connect message; it is the responsibility of the endpoint to
comply with applicable
requirements.


check "H225_Setup_UUIE & H323SignalPDU::BuildSetup" within src/h323pdu.cxx
(H323plus)



> TC>...
>
> may bee, while i in hospital i have a very limited ways for testing,
> especially for inbound calls throuce h323. i find one issues in signaling
> part in h323plus, src/h323.cxx grep "Very Frustrating - S.H." try uncomment
> fast start handling there, may be it help.
>
>
I'm not sure it is gonna help. This is only for CallProceeding having a
faststart element... What i have is a progress message without a faststart
element but with h245 address... it should go to StartControlChannel but i
think it is stuck since you call pre_answer before it actually opens a LC.


PBoolean H323Connection::OnReceivedProgress(const H323SignalPDU & pdu)
{
  if (pdu.m_h323_uu_pdu.m_h323_message_body.GetTag() !=
H225_H323_UU_PDU_h323_message_body::e_progress)
    return FALSE;
  const H225_Progress_UUIE & progress =
pdu.m_h323_uu_pdu.m_h323_message_body;

  SetRemoteVersions(progress.m_protocolIdentifier);
  SetRemotePartyInfo(pdu);
  SetRemoteApplication(progress.m_destinationInfo);

  // Check for fastStart data and start fast
  if (progress.HasOptionalField(H225_Progress_UUIE::e_fastStart))
    HandleFastStartAcknowledge(progress.m_fastStart);

  // Check that it has the H.245 channel connection info
  if (progress.HasOptionalField(H225_Progress_UUIE::e_h245Address))
    return StartControlChannel(progress.m_h245Address);

  return TRUE;
}



you should handle this and postpone pre_answer until you get an open LC.


T.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20091023/55d43530/attachment-0002.html 


More information about the FreeSWITCH-users mailing list