A system and method for establishing a shared secret media key between
each of a caller endpoint and a callee endpoint for securing a real time
media channel comprises: i) establishing a caller authenticated signaling
session with the caller endpoint using a caller shared secret
authentication key and a symmetric encryption algorithm; and ii)
establishing a callee authenticated signaling session with the callee
endpoint using a callee shared secret authentication key and the
symmetric encryption algorithm. A caller public value is received from
the caller endpoint through the caller authenticated signaling session
and sent to the callee endpoint through the callee authenticated
signaling session. The caller public value is a public value of a pair of
values generated by the caller endpoint and useful for calculating a
shared secret media key. A callee public value is received from the
callee endpoint through the callee authenticated signaling session and
sent to the caller endpoint through the caller authenticated signaling
session. The callee public value is a public value of a pair of values
generated by the callee endpoint and useful for calculating a shared
secret media key. Both the caller endpoint and the callee endpoint
calculate the shared secret media key using Diffie-Hellman techniques.