A method, comprising: determining an application sequence for a communication session, wherein the application sequence comprises one or more applications that provide different call services for the communication session; sequencing based on the application sequence the one or more applications into a signaling path for the communication session; the method characterised by: determining by the one or both of the upstream and/ or downstream neighboring applications of a first application in the application sequence, that the first application has failed during the communication session, and reconstructing the application sequence while the communication session is still in progress without requiring the application sequence to be torn down, wherein the reconstructing step comprises: in response to determining that the first application has failed, at least one of the upstream and/or downstream neighboring applications sending a re-establishment message to a replacement application, the re-establishment message referencing an identifier of at least one of the communication session or its dialog; and responsive to receiving the re-establishment message, the replacement application inserting itself into the application sequence in replacement of the failed application thereby creating a reconstructed application sequence determining an application sequence for a communication session, wherein the application sequence comprises one or more applications that provide different call services for the communication session; sequencing based on the application sequence the one or more applications into a signaling path for the communication session; the method characterised by: determining by the one or both of the upstream and/ or downstream neighboring applications of a first application in the application sequence, that the first application has failed during the communication session, and reconstructing the application sequence while the communication session is still in progress without requiring the application sequence to be torn down, wherein the reconstructing step comprises: in response to determining that the first application has failed, at least one of the upstream and/or downstream neighboring applications sending a re-establishment message to a replacement application, the re-establishment message referencing an identifier of at least one of the communication session or its dialog; and responsive to receiving the re-establishment message, the replacement application inserting itself into the application sequence in replacement of the failed application thereby creating a reconstructed application sequence determining by the one or both of the upstream and/ or downstream neighboring applications of a first application in the application sequence, that the first application has failed during the communication session, and reconstructing the application sequence while the communication session is still in progress without requiring the application sequence to be torn down, wherein the reconstructing step comprises: in response to determining that the first application has failed, at least one of the upstream and/or downstream neighboring applications sending a re-establishment message to a replacement application, the re-establishment message referencing an identifier of at least one of the communication session or its dialog; and responsive to receiving the re-establishment message, the replacement application inserting itself into the application sequence in replacement of the failed application thereby creating a reconstructed application sequence in response to determining that the first application has failed, at least one of the upstream and/or downstream neighboring applications sending a re-establishment message to a replacement application, the re-establishment message referencing an identifier of at least one of the communication session or its dialog; and responsive to receiving the re-establishment message, the replacement application inserting itself into the application sequence in replacement of the failed application thereby creating a reconstructed application sequence