SIP .NET > Tutorial > Call control - Solution II

First, the Controller sends an INVITE to user Bob without any session description (which is good, since it means that the Controller doesn't need to assume anything about the media composition of the session). Bob's phone rings. When Bob answers, a 200 OK is generated containing its offer, bobSession. The Controller generates an immediate ACK containing an answer. This answer is a "black hole" session description, with its connection address equal to 0.0.0.0. The Controller then sends an INVITE to Alice without session description. This causes Alice's phone to ring. When they answer, a 200 OK is sent, containing their offer, aliceSession. This session description is used to create a re-INVITE back to Bob. That re-INVITE is based on aliceSession, but may need to be reorganized to match up media lines, or to trim media lines. Finally, an ACK is sent to Alice, and then media can flow.

C# example
VB example