Patent ID: 8787537

Claim:
A method, comprising: receiving, by a computing device, a communication session invitation from a user device, determining, by the computing device, whether a communication session, corresponding to the communication session invitation, is to be recorded, when the communication session is to be recorded, identifying, by the computing device, a record mode, corresponding to the communication session, from a plurality of record modes, wherein the record mode comprises: a local record mode to record one or more portions of the communication session locally, or a stream record mode to stream one or more portions of the communication session to an external recording system, establishing, by the computing device, recording services corresponding to the record mode, establishing, by the computing device, the communication session with the user device, where establishing the communication session comprises routing a signaling path or a transport path, between the user device and the computing device, based on the record mode, receiving a request from a client device to transition to another record mode, wherein the other record mode is different from the record mode, and wherein the other record mode comprises: a non-record mode that does not include recording services, a local record mode to record one or more portions of the communication session locally, or a stream record mode to stream one or more portions of the communication session to the external recording system, and transitioning from the record mode to the other record mode based on the request from the client device, and when the communication session is not to be recorded, establishing, by the computing device, the communication session with the user device.