Patent ID: 7594020
Filing Date: 2009-09-22
Classification: H04L

Abstract:
1. A method in a client for establishing a connection with a server, the client having an application layer and a service layer, the application layer using a session initiation protocol (“SIP”) and the service layer using a communication-level protocol that is different from the session initiation protocol, the client and the server being computing devices, the method comprising: under control of the application layer executing at the client, providing to the service layer a SIP INVITE request to establish an application-level connection with a server using the session initiation protocol; and under control of the service layer executing at the client, providing to the application layer services for accessing a server including a service for, upon being provided with the SIP INVITE request, sending to a server using the communication-level protocol the SIP INVITE request to establish an application-level connection between the client and the server; detecting that the client is no longer connected to the server via the application-level connection; after detecting that the client is no longer connected to the server via the application-level connection, attempting to re-establish an application-level connection between the client and a server without notifying the application layer that the client is no longer connected to the server via the application-level connection by sending to a server using the communication-level protocol a SIP INVITE request to establish a new application-level connection with a server; when an application-level connection is re-established with a server, resuming the providing of services to the application layer; and when an application-level connection is not re-established with a server, notifying the application layer that the client no longer has an application-level connection to the server; wherein the service layer that uses a communication-level protocol re-establishes an application-level connection to a server without notifying the application layer that it was detected that the client was no longer connected to the server via the application-level connection and without notifying the application layer that the application-level connection was re-established with a server; and wherein a communications layer controls the transport of application-level messages to the server via a communications-level connection and wherein the client is no longer connected to the server via the application-level connection when the communications-level connection is broken.