Package org.restlet.ext.sip

Examples of org.restlet.ext.sip.SipRecipientInfo


    @Test
    public void testParsing() throws Exception {
        String str = "SIP/2.0/UDP 192.0.2.1:5060 ;received=192.0.2.207;branch=z9hG4bK77asjd";
        SipRecipientInfoReader r = new SipRecipientInfoReader(str);
        SipRecipientInfo s = r.readValue();

        assertEquals(Protocol.SIP, s.getProtocol());
        assertEquals("UDP", s.getTransport());
        assertEquals("192.0.2.1:5060", s.getName());

        assertEquals(2, s.getParameters().size());
        Parameter parameter = s.getParameters().get(0);
        assertEquals("received", parameter.getName());
        assertEquals("192.0.2.207", parameter.getValue());
        parameter = s.getParameters().get(1);
        assertEquals("branch", parameter.getName());
        assertEquals("z9hG4bK77asjd", parameter.getValue());
        assertNull(s.getComment());

        str = "SIP/2.0/UDP 192.0.2.1:5060 ;received=192.0.2.207;branch=z9hG4bK77asjd (this is a comment)";
        r = new SipRecipientInfoReader(str);
        s = r.readValue();

        assertEquals(Protocol.SIP, s.getProtocol());
        assertEquals("UDP", s.getTransport());
        assertEquals("192.0.2.1:5060", s.getName());

        assertEquals(2, s.getParameters().size());
        parameter = s.getParameters().get(0);
        assertEquals("received", parameter.getName());
        assertEquals("192.0.2.207", parameter.getValue());
        parameter = s.getParameters().get(1);
        assertEquals("branch", parameter.getName());
        assertEquals("z9hG4bK77asjd", parameter.getValue());
        assertEquals("this is a comment", s.getComment());

        str = "SIP/2.0/TCP 127.0.0.1:5061;branch=z9hG4bK-6503-1-0";
        r = new SipRecipientInfoReader(str);
        s = r.readValue();

        assertEquals(Protocol.SIP, s.getProtocol());
        assertEquals("TCP", s.getTransport());
        assertEquals("127.0.0.1:5061", s.getName());

        assertEquals(1, s.getParameters().size());
        parameter = s.getParameters().get(0);
        assertEquals("branch", parameter.getName());
        assertEquals("z9hG4bK-6503-1-0", parameter.getValue());

        str = "SIP/2.0/TCP [fe80::223:dfff:fe7f:7b1a%en0]:5061;branch=z9hG4bK-409-1-0";
        r = new SipRecipientInfoReader(str);
        s = r.readValue();

        assertEquals(Protocol.SIP, s.getProtocol());
        assertEquals("TCP", s.getTransport());
        assertEquals("[fe80::223:dfff:fe7f:7b1a%en0]:5061", s.getName());
        assertEquals(1, s.getParameters().size());
        parameter = s.getParameters().get(0);
        assertEquals("branch", parameter.getName());
        assertEquals("z9hG4bK-409-1-0", parameter.getValue());
        assertNull(s.getComment());
    }
View Full Code Here


        return result;
    }

    @Override
    public SipRecipientInfo readValue() throws IOException {
        SipRecipientInfo result = null;

        skipSpaces();

        if (peek() != -1) {
            result = new SipRecipientInfo();
            String protocolToken = readToken();

            if (peek() == '/') {
                read();
                result.setProtocol(new Protocol(protocolToken, protocolToken,
                        null, -1, readToken()));
                if (peek() == '/') {
                    read();
                    result.setTransport(readToken());
                }
            } else {
                result.setProtocol(new Protocol("HTTP", "HTTP", null, -1,
                        protocolToken));
            }

            // Move to the next text
            if (skipSpaces()) {
                StringBuilder sb = new StringBuilder();
                if (peek() == '[') {
                    sb.append(readIpv6Address());
                } else {
                    sb.append(readToken());
                }
                if (peek() == ':') {
                    read();
                    sb.append(":");
                    sb.append(readToken());
                }
                result.setName(sb.toString());

                // Read address parameters.
                if (skipParameterSeparator()) {
                    Parameter param = readParameter();

                    while (param != null) {
                        result.getParameters().add(param);

                        if (skipParameterSeparator()) {
                            param = readParameter();
                        } else {
                            param = null;
                        }
                    }
                }

                // Move to the next text
                skipSpaces();
                if (peek() == '(') {
                    result.setComment(readComment());
                }
            }
        }

        return result;
View Full Code Here

TOP

Related Classes of org.restlet.ext.sip.SipRecipientInfo

Copyright © 2018 www.massapicom. 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.