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); }
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"); }