How to exit the service

Version 1
    This document was generated from CDN thread

    Created by: ERIK TAMMINGA on 05-08-2010 09:18:38 AM
    Hi,
     
    We have developed an intelligent directory service. This service has several screens which follow eachother. The user has to go through several screens in order to do his task.
     
    Now at any given moment we would like the user to have the option to exit the application. The SoftKey:Exit doesn't exit but navigates back. Can someone give me a solution on how to exit the application, with just one softkey interation?
     
    Things I've tried:
    - The Uri Init : Services doesn't work when the application is launched via the Directories button.
    - The Uri Init : Directories doesn't work when the application is launched via the Services button.
    - Init : D irectories doesn't work on 89/99xx series phones
    - App:Close, as stated in the more recent IPSS documentation, doesn't do a thing (at least on 7941 phones running phone load 8.5.3, and 7945's running 8.3.1)
     
    Please push me in the right direction!
     
    Regards,
    Erik

    Subject: RE: How to exit the service
    Replied by: Imran Mamdani on 12-08-2010 03:50:16 PM
    I'm looking for the same solution too - nothing found yet.

    Subject: RE: How to exit the service
    Replied by: David Staudt on 12-08-2010 04:39:54 PM
    The phones keep a history of requested URLs - a very crude simulated cache - and pressing the Exit softkey navigates to the last URL on this stack.  These URLs are tracked by their HTTP Expires header timestamp, however, so you can prevent URLs from being added to this list by ensuring they expire immediately (i.e. expires header = HTTP date header.)  In this way the phone should exit from the service immediately when pressing Exit.

    Subject: RE: How to exit the service
    Replied by: David Staudt on 17-08-2010 05:00:45 PM
    A few comments on your testing so far:
     


    - The Uri Init : Services doesn't work when the application is launched via the Directories button.
    - The Uri Init : Directories doesn't work when the application is launched via the Services button.



     
    This makes sense but is a bit challenging for the app.  You could include a URL parameter in the service definition that indicates which category the app is provisioned under, e.g.: http://directoryapp.jsp?launched=Services.  Then the app could build the softkey with either Init:Services or Init:directories



    - Init : D irectories doesn't work on 89/99xx series phones



     
    This could be a defect, will check with engineering.  If you can provide a wireshark capture of this scenario that would help.



    - App:Close, as stated in the more recent IPSS documentation, doesn't do a thing (at least on 7941 phones running phone load 8.5.3, and 7945's running 8.3.1)



     
    This is the direction that I would hope would be most helpful.  The feature was introduced in 8.3(2) firmware, so that would explain why it's not working on your 7945, but it should be available on your 7941.  If you can attach a wireshark capture from phone startup through execution of the test run, we may be able to spot any problems.

    Subject: RE: How to exit the service
    Replied by: Roland Russwurm on 17-08-2010 10:21:32 AM
    Hi,
     
    I know this solution (btw, you can simply set the expire to -1) but it does not solve the problem for every application since you can not close the application from a specific page.
     
    E.g. we have an XML service where a list of entries is shown which you can process. This service also has a softkey "Delete All". If you press it, it will display a new page asking if you really want to delete all entries, you press "Yes" and another page opens to tell you everything was deleted successully.
    Now actually on this page I want to add an "Exit" button which closes the whole application since there are no more entries and it does not make sense to go back to a page showing no entries.
     
    Even if we set the expire to -1 on the 2nd and 3rd page (which is what we do, cause those shouldn't get on the URL stack) we would jump back to the list of entries with the SoftKey:Exit and not close the application completely.
     
    So it doesn't really help in all cases and a possibility to really close an application is definitely required for a good user experience!
     
    Roland

    Subject: RE: How to exit the service
    Replied by: Richard Perfect on 25-08-2010 03:21:56 AM
    I'm looking at this issue today as well.
     
    What I found that seems to work is;
     
    Key:Services
    Init:Services
     
    I seem to get the behaviour I'm looking for - the services menu disappears, the "main" screen is displayed and when you go back into the Service menu it starts back with the Service menu rather than your previously running application.
     
    But it's pretty much my first week with dealing with this API and I'm not really sure if the application is properly closed or not, or just lurking in the background consuming memory or something??

    Subject: RE: How to exit the service
    Replied by: Miroslav Jasso on 17-02-2012 06:16:11 AM
    Hi, everyone. I'd like to renew this thread...

    I have this phones in my lab: 6941, 7945G, 7906, 7912, 8945, 8941, 8961, 9951.

    Is there any universal key/softkey/init url to exit XML application (browser)? IP phone should go to the 'idle' screen. I was able to determine, that:
    1. 79xx and 6941: "Key:Services" and "Init:Services" works fine. "SoftKey:Back" and "SoftKey:Exit" simple goes on previous page. If there is no previous page, it exits the browser.
    2. 9951, 8961: "Key:Services" and "Init:Services" do nothing. "SoftKey:Back" and "SoftKey:Exit" simple goes on previous page. If there is no previous page, it exits the browser.
    3. 8941, 8945: "Key:Services" and "Init:Services" opens main menu. When you exit menu, XML browser is still there. "SoftKey:Back" and "SoftKey:Exit" simple goes on previous page. If there is no previous page, it exits the browser. However, if the application was invoked using CGIExecute command, it does not exits browser. It shows blank page.
    4. "App:Close" do nothing on all phones in our lab.

    The most problematic phones are 8941 and 8945. It is very uncomfortable to have blank page on the phone for phone user. Can anybody help me?

    Subject: RE: How to exit the service
    Replied by: Adrienne Moherek on 17-02-2012 06:22:50 PM
    Hi Miroslav,

    The 8900 and 9900 series IP phones does not have a services button. As such, the "Key:Services" URI is not supported in these phones. The application has to use the "Init:Services" URI and the "App:Close" URI to close the last XSI application launched from the application. If there is no application open, then the request has no effect.
    Additionally, the Exit softkey takes the application to the previous screen, and if the application is at the top level, it closes the application.

    Thanks,
    Adrienne

    Subject: RE: How to exit the service
    Replied by: ERIK TAMMINGA on 20-02-2012 07:50:53 AM
    Cisco,

    It would be very, very, very nice if you could make a universal URI, a URI that works on all phones, that exists the application to the Phone Idle state. Please put this at the top of you list of things to do for the next phone firmware versions on all devices. (App:Close sounds intuitive!)
    The lack of this universal URI has been the biggest problem for the XML Phone Service developers I known and would definitely help us all!

    Regards,
    Erik Tamminga

    Subject: RE: How to exit the service
    Replied by: Miroslav Jasso on 20-02-2012 04:57:23 AM
    Hi Adrienne,
       thank you for quick response. I made simple XML page (below) and test behaviour on every phone in my lab. Result is in my previous post. However, I've upgraded firmwares on some phones and changes are:
    • 8941, 8945: "Init:Services" works as expected.
    • 9951, 8961: "Init:Services" works almost as expected. When I start service from main menu, it exits to main menu.
    • 6941: "App:Close" works fine only on this phone.

    So "Init:Services" is that almighty URI what I was looking for. Thanks again.

     1<?xml version="1.0" encoding="utf-8" ?>
     2<CiscoIPPhoneText>
     3    <Title>test</Title>
     4    <Prompt>test</Prompt>
     5    <Text>123456789</Text>
     6    <SoftKeyItem>
     7        <Name>Exit</Name>
     8        <URL>SoftKey:Exit</URL>
     9        <Position>1</Position>
    10    </SoftKeyItem>
    11    <SoftKeyItem>
    12        <Name>Services</Name>
    13        <URL>Init:Services</URL>
    14        <Position>2</Position>
    15    </SoftKeyItem>
    16    <SoftKeyItem>
    17        <Name>AppClose</Name>
    18        <URL>App:Close</URL>
    19        <Position>3</Position>
    20    </SoftKeyItem>
    21</CiscoIPPhoneText>