internal TSIP_Transac CreateTransac(Boolean isClient, TSIP_Message message, TSIP_Dialog dialog) { TSIP_Transac transac = null; if (message != null && message.IsRequest) { if (isClient)/* Client transaction */ { if (message.IsINVITE) { // INVITE Client transaction (ICT) TSK_Debug.Error("CreateTransac - not implemented"); } else { // NON-INVITE Client transaction (NICT) transac = new TSIP_TransacNICT(mReliable, (Int32)message.CSeq.CSeq, message.CSeq.Method, message.CallId.Value, dialog); } } else/* Server transaction */ { if (message.IsINVITE) { // INVITE Server transaction (IST) TSK_Debug.Error("CreateTransac - not implemented"); } else { // NON-INVITE Server transaction (NIST) TSK_Debug.Error("CreateTransac - not implemented"); } if (transac != null) { /* Copy branch from the message */ transac.Branch = message.FirstVia.Branch; } } } mMutex.WaitOne(); if (transac != null) { /* Add new transaction */ mTransactions.Add(transac.Id, transac); } mMutex.ReleaseMutex(); return(transac); }
internal TSIP_Transac CreateTransac(Boolean isClient, TSIP_Message message, TSIP_Dialog dialog) { TSIP_Transac transac = null; if (message != null && message.IsRequest) { if (isClient)/* Client transaction */ { if (message.IsINVITE) { // INVITE Client transaction (ICT) TSK_Debug.Error("CreateTransac - not implemented"); } else { // NON-INVITE Client transaction (NICT) transac = new TSIP_TransacNICT(mReliable, (Int32)message.CSeq.CSeq, message.CSeq.Method, message.CallId.Value, dialog); } } else/* Server transaction */ { if (message.IsINVITE) { // INVITE Server transaction (IST) TSK_Debug.Error("CreateTransac - not implemented"); } else { // NON-INVITE Server transaction (NIST) TSK_Debug.Error("CreateTransac - not implemented"); } if (transac != null) { /* Copy branch from the message */ transac.Branch = message.FirstVia.Branch; } } } mMutex.WaitOne(); if (transac != null) { /* Add new transaction */ mTransactions.Add(transac.Id, transac); } mMutex.ReleaseMutex(); return transac; }