[Gta04-owner] Detect Call Hangup / Option Datasheet

Marcel Holtmann marcel at holtmann.org
Mon Jan 2 03:45:27 CET 2012

Hi Nikolaus,

> > > > That is why every serious voice modem manufacturer adds a vendor command
> > > > for call state notifications. And more important why they make ATD123; a
> > > > non blocking call where OK is returned right away. However it seems that
> > > > nobody told this to Option. Polling via CLCC is still nasty, but doable,
> > > > but having a blocking ATD123; is just pure stupid.
> > > 
> > > I think it does not block if AT+COLP=0
> > 
> > I can try that later with one of my other Option cards, but this is
> > kinda weird as well. Since we want to have AT+COLP=1 to get unsolicited
> > connected line identification.
> so I took one of my Option cards and indeed if you set AT+COLP=0 then
> the ATD123; returns OK right away. So far so good.
> While someone could argue that this is the expected behavior according
> to 27.007, I still think this is kinda stupid and should be addressed
> with Option. It would be enough to just add a AT_OCOLP=1 vendor command
> or something similar to get the behavior of COLP=1 and non-blocking ATD
> for voice calls. In case Option insists on keeping this weird behavior.
> I continued testing and the other major problem with Option now is that
> their voice implementation does not send NO CARRIER, NO ANSWER or BUSY
> as feedback from the remote party.
> This means that during an active call you have to poll with AT+CLCC to
> check for remote party hangup. Even the strict 27.007 voice call support
> in oFono assumes at least that you have these unsolicited notification
> coming from the modem. This should be something that you might wanna
> address with Option as well. We can get oFono support for this, but this
> is a serious power drainer (especially on USB) during an active voice
> call.

I have a patch for oFono that does AT+CLCC polling even during active
calls and that seems to work just fine. It is a rather small change
actually to add voice call support for Option modems.

 drivers/atmodem/voicecall.c |   22 +++++++++++++++++++---
 plugins/hso.c               |    6 ++++++
 2 files changed, 25 insertions(+), 3 deletions(-)

One problem still persists though. If you make an outgoing call and the
remote party rejects the call instead of answering, then it does not get
signaled right away. There seems to be a bug in the modem since AT+CLCC
keeps happily polling and considers that call still as alerting.

I spend some time toying with advanced call handling and that was rather
unsuccessful. I am not sure anybody ever tested more than one voice call
with these modems. However I am not going to bother any further since
there are already too many details with single voice call handling that
are not optimal if you wanna build a phone. These should be addressed



More information about the Gta04-owner mailing list