1. A method of invoking at least one service application server, in a communication between an origin user agent and a terminal user agent, comprising: opening two separate dialogs, the dialogs comprising messages, between a selective service invocation function and, respectively, the origin user agent and the terminal user agent, the selective service invocation function replacing the terminal user agent in its dialog with the origin user agent and replacing the origin user agent in its dialog with the terminal user agent; at least partly storing the messages originating from the user agents in the two separate dialogs; checking at least one conditional service triggering criterion on each of the two separate dialogs; and if the triggering criterion is satisfied, creating at least one third dialog comprising messages between the selective service invocation function and the service application server, correlating the at least one third dialog with the two separate dialogs and at least partly restoring the at least partly stored messages to the service application server prior to triggering an invocation of the service application server, using the two separate dialogs and the at least one third dialog, correlated together.