How to enable Early Media?

Discussion related to implementation and use of the H.323 Plus H.323 stack at https://www.h323plus.org.
Post Reply
Annemesski
Posts: 3
Joined: Fri Jan 13, 2017 6:16 am

How to enable Early Media?

Post by Annemesski »

Hello, I'm use H323plus v-1.26.5 with PTLib v-2.12.8 in my SCADA program for establishing phone communicate between dispatcher and abonents via intercom devices. I taken 'simple' sample from H323plus package for that.

My truble is as follow: when I call to some intercom device I taking one-way communication with it. 'Simple' is report about open logical channels to sending and to recieving, but recieving channel is not reachable and i'm not hearing abonent on intercom device, but abonent can hear me. When i use other program (Abto "H323 VoIP SDK") connection established normaly and i have two-way communication.

I'm examine ethernet traffic and detect so different between 'Simple' and 'Abto' connection:
- When 'Abto' is establishing connection with intercom it is sending SETUP message with "OpenLogicalChannel", "MasterSlaveDetermination" and "TerminalCapabilitySet" to remote party, further 'Abto' receive CallProceeding message and Alerting message with "terminalCapabilitySet", "terminalCapabilitySetAck" and "MasterSlaveDeterminationAck" on next step 'Abto' sending "empty terminalCapabilitySetAck MasterSlaveDeterminationAck" but remote party sending CONNECT message after that.
- When 'Simple' is establishing connection with intercom CONNECT message recieving before "empty terminalCapabilitySetAck MasterSlaveDeterminationAck".

In my research I came to the conclusion what 'Abto' use Early Media Mode but I can't find how to enable this method in 'Simple'.

PS: thanks to all who is answer and great sorry for my bad english.
User avatar
willamowius
Posts: 50
Joined: Tue Sep 01, 2009 7:25 am
Contact:

Re: How to enable Early Media?

Post by willamowius »

I think what you are loking for is

DisableH245inSetup(false);
DisableFastStart(false);

Take a look at SimpleH323EndPoint::Initialise() in the sample application.

Regards,
Jan
Jan Willamowius
Founder of the GNU Gatekeeper Project
https://www.gnugk.org
https://www.willamowius.com (H.323 support)
Annemesski
Posts: 3
Joined: Fri Jan 13, 2017 6:16 am

Re: How to enable Early Media?

Post by Annemesski »

That is was, but I'm found this immediately, if I'm give DisableH245inSetup(true) the 'Simple' is not reporting about started receiving logical channel. Disabling or enabling FastStart procedure is not changing anything, but in 'Abto' FastStart is enabled (have a OpenLogicalChannel field in SETUP message) and I'm enabling it's too.

I'm not sure about Early Media, but I'll tryed modify almost parameters in H323Endpoint and sty here still.

I think what something is missing in SETUP message for the logical channel opening correctly.
Annemesski
Posts: 3
Joined: Fri Jan 13, 2017 6:16 am

Re: How to enable Early Media?

Post by Annemesski »

Now I'm detect more with PTrace (-t option for "Simple").

I working with two types of intercom devisces: MS Windows based and some *nix based. Windows based intercom do not sending ALERTING signal and 'Simple' is opening recieving logical channel, further it's opening sending logical channel and only after that reporting: "in call with %remotepartyName%" and it's work correct ('Simple' is not call OnAlert() method). But *nix based intercom is sending ALERTING and 'Simple' is opening sending logical channel first and further reporting: "in call with %remotepartyName%" and only after that opening recieving logical channel and I take one-way communication.
ErasmoFor
Posts: 1
Joined: Wed Nov 15, 2017 9:29 am

Re: How to enable Early Media?

Post by ErasmoFor »

willamowius wrote: Mon Jan 16, 2017 10:17 am I think what you are loking for is

DisableH245inSetup(false);
DisableFastStart(false);

Take a look at SimpleH323EndPoint::Initialise() in the sample application.

Regards,
Jan
Works like a charm. Thanks for the info, Jan.
Post Reply