Hi there! I have this strange phone freeze thing happen very occasionally with my phone when it displays a page, where the softkey button become dark grey, and when I push it, the prompt response as "That key is not active here". The voice communication part is still working, but the "service", "directories", "setting" buttons are not response.
Any idea what's wrong here? The situation is hard to reproduce but when it's happending, it's kind really bad, I have to reboot the phone!
Thank you very much for your help!!
Is this a softkey you pushed to the phone, or is this a native IP Phone softkey, and if so, what is it?
I seem to vaguely recall a discussion about the keys that you can push to a phone and those being physical keys.. so the numerical keypad, Key:Services and the Likes, and Key:Soft1 - Key:Soft5 (depending on how many your phone has). So if you want to push the Exit button that's currently being shown, you have to know at which position that key is and then push a Key:SoftX.
If you look at the dev guide on custom softkeys, it states:
The SoftKey URI allows developers to customize softkey names and layout
in the Services and Directories windows while retaining the functionality that the
Softkey URIs work in menu items and in softkey items in the XML objects for
which they natively occur on the phone.
I wouldn't say they natively ocurr on the phone as part of a CiscoIPPhoneExecute because that's not something you'll ever see visually on the phone.
Thanks Stephan! I'll try that out. But still couldn't see the difference between "SoftKey:Exit" and "Key:Soft3", if the XML object has a Exit softkey at position 3? Shouldn't they be the same?
I probabaly havn't describe it very clearly. So the phone is displaying a page I pushed to it and the page has a SoftKey:Exit, and sometime it freezes, my guess is that the freeze is caused my code pushing another "SoftKey:Service" to the phone to clear the screen. But most of the time "SoftKey:Service" works fine, the freeze only happens at certain timing, which I have no clue, try to measure the time interval between last pushing this one, see no obvious suggestions. When it freezes, the SoftKey:Exit turns into dark grey, and if I push the physical key on the phone, the prompt replies "This key is not active"...
one more thing: Although I alwasy name SoftKey:Exit as "Cancel", sometimes I see the phone display "Exit" instead, doesn't that suggest anything?
Let me explain the difference:
SoftKey:3 means: the 3rd softkey from the left.
SoftKey:Exit means nothing unless it's being put in context.
SoftKey:Exit is valid inside a SoftKeyItem element.. it allows you to put a key with the Exit functionality to any XML page you create. SoftKey:3 is not valid in that context.. you can't have a "3rd softkey from the left" in your xml page.. you need a key with a certain function, and then you tell the phone at which position it should be displayed. So in such a context the URI gets a function (but no name and no position.. you assign those in other tags of the SoftKeyItem element): "close the current page".
SoftKey:Exit is not a valid option in a CiscoIPPHoneExecute context. A CiscoIPPhoneExecute with a SoftKey:3 ExecuteItem tells the phone: "push the 3rd softkey button from the left".. the ExecuteItem says "push" and SoftKey:3 says: "3rd softkey from the left". If you put SoftKey: Exit there, it tells the phone "push".. and then it doesn't know what to push because SoftKey:Exit isn't a button on the phone that it can push.
>Although I alwasy name SoftKey:Exit as "Cancel", sometimes I see the phone display "Exit" instead, doesn't that suggest anything?
Is there a regularity to it? The exit and cancel softkeys require some voodoo magic if you search for threads on the subject.. one time that act one way, another time another way.. try to avoid relying on them and rather use actual urls in softkeys.. at least there the behavior will be consistent across XML elements and phone types.
That explains why "SoftKey:Exit" doesn't work....Thanks a lot!!!
But one interesting obeservation with "Key:Soft3", if the phone was sending out a HTTP request the moment I pushed a "Key:Soft3", then the request will be cancelled, and I have to push an additional "Key:Soft3" in order to close the page, but if I push "Key:Services", one push will have the job done. So far havn't witness any freeze since switched to the "Key:Soft3", will stress this baby during the weekend....
Thanks again for all your help!!
Well.. what exactly is on screen when you push the Key:Soft3? Isn't the 3rd position usually the cancel key so pressing it would effectively result in cancelling the request?
Key:Services aborting everything is normal behavior.
Also, there's another instance where keys can become inactive: if the response from the server contains invalid XML or if the request times out, buttons tend to become inactive.