Example #1
0
        public void test_codec_registration()
        {
            var userName = "******";

            DeleteRegisteredSip(userName);

            // Add new
            var sipMessage = new SipRegistrationMessage()
            {
                Ip            = GetRandomLocationIpAddress(),
                Port          = 5060,
                UnixTimeStamp = GetUnixTimeStamp(DateTime.Now),
                Sip           = new SipUri(userName),
                UserAgent     = "ProntoNet LC v6.8.1",
                Username      = userName,
                ToDisplayName = "Test",
                Expires       = 60
            };

            // Assert
            var result = SipMessageManager.RegisterCodec(sipMessage);

            Assert.AreEqual(SipEventChangeStatus.CodecAdded, result.ChangeStatus);

            // Update only timestamp. Should return nothing changed.
            // Act
            sipMessage.UnixTimeStamp = GetUnixTimeStamp(DateTime.Now.AddSeconds(1));
            // Assert
            result = SipMessageManager.RegisterCodec(sipMessage);
            Assert.AreEqual(SipEventChangeStatus.NothingChanged, result.ChangeStatus);

            // Update location. Should return status updated.
            // Act
            sipMessage.Ip = GetRandomLocationIpAddress();
            // Assert
            result = SipMessageManager.RegisterCodec(sipMessage);
            Assert.AreEqual(SipEventChangeStatus.CodecUpdated, result.ChangeStatus);

            // Only timestamp
            sipMessage.UnixTimeStamp = GetUnixTimeStamp(DateTime.Now.AddSeconds(2));
            result = SipMessageManager.RegisterCodec(sipMessage);
            Assert.AreEqual(SipEventChangeStatus.NothingChanged, result.ChangeStatus);

            // Update display name. Should return status updated.
            // Act
            sipMessage.ToDisplayName = "New display name";
            // Assert
            result = SipMessageManager.RegisterCodec(sipMessage);
            Assert.AreEqual(SipEventChangeStatus.CodecUpdated, result.ChangeStatus);

            // Update user agent
            sipMessage.UserAgent = "Quantum/3.4.3";
            result = SipMessageManager.RegisterCodec(sipMessage);
            Assert.AreEqual(SipEventChangeStatus.CodecUpdated, result.ChangeStatus);

            // Only timestamp
            sipMessage.UnixTimeStamp = GetUnixTimeStamp(DateTime.Now.AddSeconds(3));
            result = SipMessageManager.RegisterCodec(sipMessage);
            Assert.AreEqual(SipEventChangeStatus.NothingChanged, result.ChangeStatus);
        }
Example #2
0
        public void should_register_new_codec()
        {
            // ASSIGN
            var userName = "******";

            // Delete any already registered codec
            DeleteRegisteredSip(userName);

            var ipAddress   = GetRandomLocationIpAddress();
            var displayName = "Test";

            var sipEvent   = CreateSipRegisterEvent(ipAddress, "ME-UMAC2-M/0.255", userName, displayName);
            var sipMessage = new SipEventParser().Parse(sipEvent);

            // ACT
            SipEventHandlerResult result = SipMessageManager.HandleSipMessage(sipMessage);

            // ASSERT
            Assert.AreEqual(SipEventChangeStatus.CodecAdded, result.ChangeStatus);

            var sip = SipRep.Single(rs => rs.SIP == userName);

            Assert.AreEqual(ipAddress, sip.IP);

            // Clean up
            DeleteRegisteredSip(sip.Id);
        }