public void B2BOptionsStatefulProxyTest()
{
SIPTransactionEngine transactionEngine1 = new SIPTransactionEngine();
SIPTransport sipTransport1 = new SIPTransport(SIPDNSManager.Resolve, transactionEngine1, true, false);
sipTransport1.AddSIPChannel(new SIPUDPChannel(new IPEndPoint(IPAddress.Loopback, 3000)));
SIPAppServerCore appServerCore1 = new SIPAppServerCore(sipTransport1, null, statefulProxyCore1_StatefulProxyLogEvent, null, null, null);
SIPTransactionEngine transactionEngine2 = new SIPTransactionEngine();
SIPTransport sipTransport2 = new SIPTransport(SIPDNSManager.Resolve, transactionEngine2, true, false);
sipTransport2.AddSIPChannel(new SIPUDPChannel(new IPEndPoint(IPAddress.Loopback, 3001)));
SIPAppServerCore appServerCore2 = new SIPAppServerCore(sipTransport2, null, statefulProxyCore2_StatefulProxyLogEvent, null, null, null);
sipTransport1.SIPRequestOutTraceEvent += sipTransport1_SIPRequestOutTraceEvent;
sipTransport1.SIPResponseInTraceEvent += sipTransport1_SIPResponseInTraceEvent;
sipTransport2.SIPRequestInTraceEvent += sipTransport2_SIPRequestInTraceEvent;
SIPRequest optionsRequest = GetOptionsRequest(SIPURI.ParseSIPURI("sip:127.0.0.1:3001"), 1, sipTransport1.GetDefaultTransportContact(SIPProtocolsEnum.udp).SocketEndPoint);
sipTransport1.SendRequest(optionsRequest);
Thread.Sleep(200);
// Check the NUnit Console.Out to make sure there are SIP requests and responses being displayed.
sipTransport1.Shutdown();
sipTransport2.Shutdown();
}