Package test.unit.gov.nist.javax.sip.parser

Source Code of test.unit.gov.nist.javax.sip.parser.RussianDisplayNameTest

package test.unit.gov.nist.javax.sip.parser;

import java.nio.charset.Charset;

import javax.sip.header.FromHeader;

import gov.nist.javax.sip.message.SIPMessage;
import gov.nist.javax.sip.parser.StringMsgParser;
import junit.framework.TestCase;



public class RussianDisplayNameTest extends TestCase {
  private static final String messageToParse =
  "INVITE sip:3853@sip.svgc.ru;user=phone SIP/2.0\r\n" +
  "Via: SIP/2.0/UDP 10.0.2.250:5060;branch=z9hG4bK-ztk7799cnhxx;rport\r\n" +
  "From: \"теле Cном_3606\" <sip:3606@sip.svgc.ru>;tag=lqffmqdzmv\r\n" +
  "To: <sip:3853@sip.svgc.ru;user=phone>\r\n"+
  "Call-ID: 3c2688891598-8lqnbdxvv6ip\r\n"+
  "CSeq: 1 INVITE\r\n"+
  "Max-Forwards: 70\r\n"+
  "Contact: <sip:3606@10.0.2.250:5060;line=qbc05th0>;reg-id=1\r\n"+
  "P-Key-Flags: resolution=\"31x13\", keys=\"4\"\r\n"+
  "User-Agent: snom360/7.3.30\r\n"+
  "Accept: application/sdp\r\n"+
  "Allow: INVITE, ACK, CANCEL, BYE, REFER, OPTIONS, NOTIFY, SUBSCRIBE, PRACK, MESSAGE, INFO\r\n"+
  "Allow-Events: talk, hold, refer, call-info\r\n"+
  "Supported: timer, 100rel, replaces, from-change\r\n"+
  "Session-Expires: 3600;refresher=uas\r\n"+
  "Min-SE: 90\r\n"+
  "Content-Length: 0\r\n\r\n";
 
  private static final String binaryMessage = "494e56495445207369703a33383533407369702e737667632e" +
      "72753b757365723d70686f6e65205349502f322e300d0a5669613a205349502f322e302f554450" +
      "2031302e302e322e3235303a353036303b6272616e63683d7a39684734624b2d7a746b37373939636e" +
      "6878783b72706f72740d0a46726f6d3a2022d182d0b5d0bbd0b52043d0bdd0bed0bc5f3336303622203c" +
      "7369703a33363036407369702e737667632e72753e3b7461673d6c7166666d71647a6d760d0a546f3a203c" +
      "7369703a33383533407369702e737667632e72753b757365723d70686f6e653e0d0a43616c6c2d49443a" +
      "203363323638383839313539382d386c716e62647876763669700d0a435365713a203120494e5649544" +
      "50d0a4d61782d466f7277617264733a2037300d0a436f6e746163743a203c7369703a333630364031302" +
      "e302e322e3235303a353036303b6c696e653d71626330357468303e3b7265672d69643d310d0a502d4b65" +
      "792d466c6167733a207265736f6c7574696f6e3d223331783133222c206b6579733d2234220d0a557365722d4167" +
      "656e743a20736e6f6d3336302f372e332e33300d0a4163636570743a206170706c69636174696f6e2f736470" +
      "0d0a416c6c6f773a20494e564954452c2041434b2c2043414e43454c2c204259452c2052454645522c204f50" +
      "54494f4e532c204e4f544946592c205355425343524942452c20505241434b2c204d4553534147452c20494e4" +
      "64f0d0a416c6c6f772d4576656e74733a2074616c6b2c20686f6c642c2072656665722c2063616c6c2d696e66" +
      "6f0d0a537570706f727465643a2074696d65722c2031303072656c2c207265706c616365732c2066726f6d2d6" +
      "368616e67650d0a53657373696f6e2d457870697265733a20333630303b7265667265736865723d7561730d0a4" +
      "d696e2d53453a2039300d0a436f6e74656e742d547970653a206170706c69636174696f6e2f7364700d0a436f6" +
      "e74656e742d4c656e6774683a203336340d0a0d0a763d300d0a6f3d726f6f74203135333135373034323920313" +
      "5333135373034323920494e204950342031302e302e322e3235300d0a733d63616c6c0d0a633d494e204950342031" +
      "302e302e322e3235300d0a743d3020300d0a6d3d617564696f203534373632205254502f41565020302038203920322" +
      "0332031382034203130310d0a613d7274706d61703a302070636d752f383030300d0a613d7274706d61703a38207063" +
      "6d612f383030300d0a613d7274706d61703a3920673732322f383030300d0a613d7274706d61703a3220673732362d33" +
      "322f383030300d0a613d7274706d61703a332067736d2f383030300d0a613d7274706d61703a313820673732392f38303" +
      "0300d0a613d7274706d61703a3420673732332f383030300d0a613d7274706d61703a3130312074656c6570686f6e652d" +
      "6576656e742f383030300d0a613d666d74703a31303120302d31360d0a613d7074696d653a32300d0a613d73656e64726563760d0a";

 
  public void testParseMessage () {
    try {
 
   
      StringMsgParser smp = new StringMsgParser();
 
      SIPMessage message = smp.parseSIPMessage(messageToParse.getBytes("UTF-8"), true, false, null);
     
      System.out.println("Message = " + message);
     
      byte[] bytes = message.encodeAsBytes("UDP");
     
        smp = new StringMsgParser();
     
        message = smp.parseSIPMessage(bytes, true, false, null);
        System.out.println("Message = " + message);
        char[] mybytes = new char[2];
        byte[] sipMessageBytes = new byte[binaryMessage.length()];
       
        for ( int i = 0; i < binaryMessage.length(); i += 2) {
          mybytes[0] = binaryMessage.charAt(i);
          mybytes[1] = binaryMessage.charAt(i+1);
          String byteString = new String(mybytes);
          int val = Integer.parseInt(byteString,16);
          sipMessageBytes[i/2] = (byte)val;
         
        }
        smp = new StringMsgParser();
        SIPMessage reparsed = smp.parseSIPMessage(sipMessageBytes, true, false, null);
       
        System.out.println("Reparsed = " + reparsed);
       
        bytes = message.encodeAsBytes("UDP");
        smp = new StringMsgParser();
        reparsed = smp.parseSIPMessage(bytes, true, false, null);
       
        System.out.println("Reparsed = " + reparsed);
 
     
    } catch (Exception ex) {
      ex.printStackTrace();
      fail("unexpected exception");
    }
  }
 

}
TOP

Related Classes of test.unit.gov.nist.javax.sip.parser.RussianDisplayNameTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.