Пример #1
0
        public void ParseNotifyTest1()
        {
            //Llamada early entrante
            string    xml                    = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<dialog-info xmlns=\"urn:ietf:params:xml:ns:dialog-info\" version=\"1\" state=\"full\" entity=\"sip:[email protected]\">\n <dialog id=\"ced4d1159dd44276b93e723d441c5d4a\" call-id=\"ced4d1159dd44276b93e723d441c5d4a\" local-tag=\"f3a0edc4f1c14b3d89485e185df9ca20\" remote-tag=\"e0ed684d5c9348a48e22c4627773121e\" direction=\"recipient\">\n  <state>early</state>\n  <duration>0</duration>\n  <local>\n   <identity display=\"14L\">sip:[email protected]</identity>\n   <target uri=\"sip:[email protected]:5060\" />\n  </local>\n  <remote>\n   <identity>sip:[email protected]</identity>\n  </remote>\n </dialog>\n</dialog-info>\n";
            TlfPickUp pickIpClass            = new TlfPickUp(false);
            string    source                 = null;
            List <TlfPickUp.DialogData> list = pickIpClass.NotifyDialogParse(xml, out source);

            Assert.AreEqual(list.Count, 1);
            Assert.AreEqual(list[0].callId, "ced4d1159dd44276b93e723d441c5d4a");
            Assert.AreEqual(list[0].remoteId, "sip:[email protected]");
            Assert.AreEqual(list[0].state, "early");
            Assert.AreEqual(list[0].toTag, "f3a0edc4f1c14b3d89485e185df9ca20");
            Assert.AreEqual(list[0].fromTag, "e0ed684d5c9348a48e22c4627773121e");

            //Llamada early saliente
            xml    = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<dialog-info xmlns=\"urn:ietf:params:xml:ns:dialog-info\" version=\"1\" state=\"full\" entity=\"sip:[email protected]\">\n <dialog id=\"ced4d1159dd44276b93e723d441c5d4a\" call-id=\"ced4d1159dd44276b93e723d441c5d4a\" local-tag=\"f3a0edc4f1c14b3d89485e185df9ca20\" remote-tag=\"e0ed684d5c9348a48e22c4627773121e\" direction=\"initiator\">\n  <state>early</state>\n  <duration>0</duration>\n  <local>\n   <identity display=\"14L\">sip:[email protected]</identity>\n   <target uri=\"sip:[email protected]:5060\" />\n  </local>\n  <remote>\n   <identity>sip:[email protected]</identity>\n  </remote>\n </dialog>\n</dialog-info>\n";
            source = null;
            list   = pickIpClass.NotifyDialogParse(xml, out source);
            Assert.AreEqual(list.Count, 0);
        }
Пример #2
0
        public void ParseNotifyTest2()
        {
            //Dos dialogos
            string    xml                    = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<dialog-info xmlns=\"urn:ietf:params:xml:ns:dialog-info\" version=\"1\" state=\"full\" entity=\"sip:[email protected]\">\n <dialog id=\"ced4d1159dd44276b93e723d441c5d4a\" call-id=\"ced4d1159dd44276b93e723d441c5d4a\" local-tag=\"f3a0edc4f1c14b3d89485e185df9ca20\" remote-tag=\"e0ed684d5c9348a48e22c4627773121e\" direction=\"recipient\">\n  <state>early</state>\n  <duration>0</duration>\n  <local>\n   <identity display=\"14L\">sip:[email protected]</identity>\n   <target uri=\"sip:[email protected]:5060\" />\n  </local>\n  <remote>\n   <identity>sip:[email protected]</identity>\n  </remote>\n </dialog>\n<dialog id=\"ffd48b98199840479ac78509f01785c4\" call-id=\"ffd48b98199840479ac78509f01785c4\" local-tag=\"606246bf3b3b44bda19fa1ef2ad6fa89\" remote-tag=\"e0ed684d5c9348a48e22c4627773121e\" direction=\"recipient\">\n<state>confirmed</state>\n<duration>0</duration>\n<local>\n<identity>sip:[email protected]</identity>\n<target uri=\"sip:[email protected]:5060\" />\n</local>\n<remote>\n<identity display=\"18L\">sip:[email protected]</identity>\n<target uri=\"sip:[email protected]:5060\" />\n</remote>\n</dialog>\n</dialog-info>\n";
            TlfPickUp pickIpClass            = new TlfPickUp(false);
            string    source                 = null;
            List <TlfPickUp.DialogData> list = pickIpClass.NotifyDialogParse(xml, out source);

            Assert.AreEqual(source, "sip:[email protected]");
            Assert.AreEqual(list.Count, 2);
            Assert.AreEqual(list[0].callId, "ced4d1159dd44276b93e723d441c5d4a");
            Assert.AreEqual(list[0].remoteId, "sip:[email protected]");
            Assert.AreEqual(list[0].state, "early");
            Assert.AreEqual(list[0].toTag, "f3a0edc4f1c14b3d89485e185df9ca20");
            Assert.AreEqual(list[0].fromTag, "e0ed684d5c9348a48e22c4627773121e");

            Assert.AreEqual(list[1].callId, "ffd48b98199840479ac78509f01785c4");
            Assert.AreEqual(list[1].state, "confirmed");
            Assert.AreEqual(list[1].remoteId, "sip:[email protected]");
            Assert.AreEqual(list[1].toTag, "606246bf3b3b44bda19fa1ef2ad6fa89");
            Assert.AreEqual(list[1].fromTag, "e0ed684d5c9348a48e22c4627773121e");
        }