public void B2BInviteTransactionUserFoundStatefulProxyTest()
{
SIPTransactionEngine transactionEngine1 = new SIPTransactionEngine();
SIPTransport sipTransport1 = new SIPTransport(SIPDNSManager.Resolve, transactionEngine1, true, false);
IPEndPoint sipTransport1EndPoint = new IPEndPoint(IPAddress.Loopback, 3000);
sipTransport1.AddSIPChannel(new SIPUDPChannel(sipTransport1EndPoint));
SIPAppServerCore statefulProxyCore1 = new SIPAppServerCore(sipTransport1, null, statefulProxyCore1_StatefulProxyLogEvent, null, null, null);
SIPTransactionEngine transactionEngine2 = new SIPTransactionEngine();
SIPTransport sipTransport2 = new SIPTransport(SIPDNSManager.Resolve, transactionEngine2, true, false);
IPEndPoint sipTransport2EndPoint = new IPEndPoint(IPAddress.Loopback, 3001);
sipTransport2.AddSIPChannel(new SIPUDPChannel(sipTransport2EndPoint));
SIPAppServerCore statefulProxyCore2 = new SIPAppServerCore(
sipTransport2,
statefulProxyCore2_GetCanonicalDomain,
statefulProxyCore2_StatefulProxyLogEvent,
null,
null,
null);
//statefulProxyCore2.GetExtensionOwner += new GetExtensionOwnerDelegate(statefulProxyCore2_GetExtensionOwner);
sipTransport1.SIPRequestOutTraceEvent += sipTransport1_SIPRequestOutTraceEvent;
sipTransport1.SIPResponseInTraceEvent += sipTransport1_SIPResponseInTraceEvent;
sipTransport2.SIPRequestInTraceEvent += sipTransport2_SIPRequestInTraceEvent;
sipTransport2.SIPResponseOutTraceEvent += sipTransport2_SIPResponseOutTraceEvent;
//statefulProxyCore2.LoadDialPlan += new LoadDialPlanDelegate(statefulProxyCore2_LoadDialPlan);
SIPRequest inviteRequest = GetInviteRequest(sipTransport1EndPoint, null, sipTransport2EndPoint);
UACInviteTransaction uacInvite = sipTransport1.CreateUACTransaction(inviteRequest, new SIPEndPoint(SIPProtocolsEnum.udp, sipTransport2EndPoint), new SIPEndPoint(SIPProtocolsEnum.udp, sipTransport1EndPoint), null);
uacInvite.SendInviteRequest(new SIPEndPoint(SIPProtocolsEnum.udp, sipTransport2EndPoint), inviteRequest);
Thread.Sleep(1000);
// Check the NUnit Console.Out to make sure there are SIP requests and responses being displayed.
sipTransport1.Shutdown();
sipTransport2.Shutdown();
}