Methods, systems, and computer program products for providing caller ID
and call waiting and for switching or toggling between active and waiting
calls using SIP are disclosed. According to one method, a first call is
established between a first phone and a SIP termination. The first call
is established using the first media connection between the SIP
termination and a media gateway and a second media connection between the
media gateway and the first phone. During the first call, signaling for
establishing a second call to SIP termination is received. In response to
the signaling, caller ID information for the second call is communicated
to the SIP termination. A hook flash is received from the SIP
termination. In response to the hook flash, the SIP termination is
connected to the second phone using the first media connection and a
third media connection between the media gateway and the second phone.