TC65 /XT75 - how does the GSM handshake work?

Hi Everybody!!!

I am develloping a calling application and my class ATListener won't hear an URC while I'm dialing!!

What I do is: when the person pushes a button the module calls a number from the SIM card.

However, if I push the button again to hang up the call, the module won't be listening to the interruption. This happens exclusively during thehandshake+dialing stages, there are no problems while the call is active (it is possible to hang up).

Does anyone know how to avoid this?

[531 byte] By [murilo.pollaa] at [2007-11-27 9:38:19]
# 1
What button? How is it connected?
deepspacea at 2007-7-12 23:11:28 > top of Java-index,Java Mobility Forums,Java ME Technologies...
# 2
Sorry, it's a GPIO so it generates a ^scpol URC.
murilo.pollaa at 2007-7-12 23:11:28 > top of Java-index,Java Mobility Forums,Java ME Technologies...
# 3
How many AT command listeners do you use?
deepspacea at 2007-7-12 23:11:28 > top of Java-index,Java Mobility Forums,Java ME Technologies...
# 4

I'm using only one!! But as soon as it receives an URC it leaves the Listener through a Thread ATHandler where it handles the command thus freeing the listener quickly to listen to other URCs (I assume).

It is immediatly after the "atd0630490293;" command and it remains "deaf" until the call is answered on the other side....

should I use another ATListener?

murilo.pollaa at 2007-7-12 23:11:28 > top of Java-index,Java Mobility Forums,Java ME Technologies...
# 5
Yes, use one for events, and one for handling calls!
deepspacea at 2007-7-12 23:11:28 > top of Java-index,Java Mobility Forums,Java ME Technologies...
# 6

Let me see if I get this straight...

I'll use one listener for one set of commands, let's say for all commands except dialing.

private ATListener ComList = new ATListener();

private ATCommand ATCmd = new ATCommand(false);

ATCmd.addListener(ComList);

And then another listener with another set of commands, which does the dial commands?

private ATListener ComList2 = new ATListener();

private ATCommand ATCmd2 = new ATCommand(false);

ATCmd2.addListener(ComList2);

and then I can do

ATCmd2.send("atd"+callNumber+";\r");

and

ATCmd.send("at+cops?\r");

?

Also, I listen to many URCs such as:

"^SCPOL: "

"NO CARRIER"

"+CMTI :"

"+CLIP: "

"^SGPSP: "

"+CIEV: "

Who will hear those? Both listeners? Or let's say, the CIEV ones will be heard by ATCmd2 and ^SCPOL will be heard by ATCmd?

Sorry for being a noob...

Thnxs!!

murilo.pollaa at 2007-7-12 23:11:28 > top of Java-index,Java Mobility Forums,Java ME Technologies...
# 7
Events come in wherever you want them to come in, so at the atchannel were you assigned them.
deepspacea at 2007-7-12 23:11:28 > top of Java-index,Java Mobility Forums,Java ME Technologies...