A method of providing one or more enhanced communication features during a call, the method comprising: detecting a destination identifier for a communication sent by a first device at the first device, the destination identifier being an identifier associated with a second device; detecting a source identifier for the communication sent by the first device at the second device, the source identifier being an identifier associated with the first device; establishing a first connection between the first device and a server device, the server device comprising a database; establishing a second connection between the second device and the server device; establishing a direct connection between the first device and the second device; obtaining at least a first call-enhancing element and at least a second call enhancing element stored in one or more of the database, the first device, and the second device; sharing, by at least one of the first connection, the second connection, and the direct connection, at least the first call-enhancing element with the first device and at least the second call-enhancing element with the second device at the same time, each call-enhancing element being associated with at least one of the source identifier and the destination identifier, wherein: the first call-enhancing element comprises first content data including at least one of first audio content, first visual content, and first interactive content, and the second call-enhancing element comprises second content data different from the first content data, the second content data including at least one of second audio content, second video content, and second interactive content; and exchanging, by a separate connection from the at least one connection by which the first call-enhancing element and the second call-enhancing element are shared, communication data between the first device and the second device at the same time as the sharing. detecting a destination identifier for a communication sent by a first device at the first device, the destination identifier being an identifier associated with a second device; detecting a source identifier for the communication sent by the first device at the second device, the source identifier being an identifier associated with the first device; establishing a first connection between the first device and a server device, the server device comprising a database; establishing a second connection between the second device and the server device; establishing a direct connection between the first device and the second device; obtaining at least a first call-enhancing element and at least a second call enhancing element stored in one or more of the database, the first device, and the second device; sharing, by at least one of the first connection, the second connection, and the direct connection, at least the first call-enhancing element with the first device and at least the second call-enhancing element with the second device at the same time, each call-enhancing element being associated with at least one of the source identifier and the destination identifier, wherein: the first call-enhancing element comprises first content data including at least one of first audio content, first visual content, and first interactive content, and the second call-enhancing element comprises second content data different from the first content data, the second content data including at least one of second audio content, second video content, and second interactive content; and the first call-enhancing element comprises first content data including at least one of first audio content, first visual content, and first interactive content, and the second call-enhancing element comprises second content data different from the first content data, the second content data including at least one of second audio content, second video content, and second interactive content; and exchanging, by a separate connection from the at least one connection by which the first call-enhancing element and the second call-enhancing element are shared, communication data between the first device and the second device at the same time as the sharing.