private void trunkManager_TrunkUpdated(Trunk trunk) { if (trunk.State == Trunk.States.Error) { if (trunk.RegisterAfterErrorTimeout > 0) { registerTimer.Add(trunk.RegisterAfterErrorTimeout * 1000, trunk.Id); } } }
private void ForwardRequest(IProxie proxie, RequestProxy requestProxy, SipMessageReader reader) { #region vars... var serverConnectionAddresses = requestProxy.ConnectionAddresses; var clientConnectionAddresses = proxie.ToConnectionAddresses; int serverTransactionId = requestProxy.ServerTransactionId; int clientTransactionId = proxie.TransactionId; var method = reader.Method; var content = requestProxy.Content; #endregion clientTransactionIds.Add(clientTransactionId, serverTransactionId); if (method == Methods.Ackm) { proxie.IsFinalReceived = true; } requestProxy.AddProxie(proxie); var writer = GetWriter(); proxie.GenerateForwardedRequest(writer, reader, content, serverConnectionAddresses, serverTransactionId); requestProducer.SendRequest(clientConnectionAddresses, writer, clientTransactionId, serverTransactionId); proxie.TimerC = (method == Methods.Invitem) ? timerC.Add(new ServerClientId(serverTransactionId, clientTransactionId)) : timerC.InvalidTimerIndex; }