Package javax.servlet.sip

Examples of javax.servlet.sip.Address


            return;
        }

        //Remove after fixing issue 85
        ListIterator<Address> iter = req.getAddressHeaders(Header.RECORD_ROUTE);
        Address addr = null;
        // RFC 12.1.1
        // If no Record-Route header field is present in the
        // request, the route set MUST be set to the empty set.
        // This route set, even if empty, overrides any pre-existing route set for
        // future requests in this dialog.
        m_RouteSet.clear();

        while (iter.hasNext()) {
            addr = (Address) iter.next();
            m_RouteSet.add(addr.getURI());
        }
    }
View Full Code Here


     * Saves the route set in reverse order from Record-Route
     */
    private void saveRouteSet(SipServletResponse resp)
        throws ServletParseException {
        ListIterator<Address> iter = resp.getAddressHeaders("Record-Route");
        Address addr = null;
        // RFC 12.1.2
        // If no Record-Route header field is present in the
        // request, the route set MUST be set to the empty set.
        // This route set, even if empty, overrides any pre-existing route set for
        // future requests in this dialog.
        m_RouteSet.clear();

        while (iter.hasNext()) {
            addr = (Address) iter.next();
            m_RouteSet.addFirst(addr.getURI());
        }
    }
View Full Code Here

        return super.isDirection();
    }

    public void pushRoute(SipURI route) {
        Address routeAddress = _sf.createAddress(route);
        pushRoute(routeAddress);
    }
View Full Code Here

            if ((responseStatusCode >= 200) && (getProxyContext() == null)) {
                throw new IllegalStateException(
                    " Already received final response ");
            }

            Address fromCopy = (Address) ((AddressImpl) getFromImpl()).clone(true,
                    true);
            Address toCopy = (Address) ((AddressImpl) getToImpl()).clone(true,
                    true);
            SipServletRequestImpl req = new SipServletRequestImpl("CANCEL",
                    getRequestURI(), SipFactoryImpl.PROTOCOL_LINE);

            // set To
View Full Code Here

        // that a remote party sent, and include the same in the Contact header of the response.
        if ("INVITE".equals(_method) || "REFER".equals(_method) ||
                "SUBSCRIBE".equals(_method)) {
            try {
                // Check if Response has Record-Route headers
                Address rrouteAddress = getAddressHeaderImpl(Header.RECORD_ROUTE);
                SipURI sipuri = null;

                if ((rrouteAddress != null) &&
                        rrouteAddress.getURI().isSipURI()) {
                    // 1. Use transport from top-most Record Route on the incoming Request
                    sipuri = (SipURI) rrouteAddress.getURI();
                } else {
                    // 2. Use transport from Contact
                    URI remoteTarget = getAddressHeaderImpl("Contact").getURI();

                    if (remoteTarget.isSipURI()) {
                        sipuri = (SipURI) remoteTarget;
                    }
                }

                if ((sipuri != null) && (sipuri.getTransportParam() != null)) {
                    String transport = sipuri.getTransportParam();
                    Address contactAddress = response.getAddressHeaderImpl(Header.CONTACT);

                    if ((contactAddress != null) &&
                            contactAddress.getURI().isSipURI()) {
                        ((SipURI) contactAddress.getURI()).setTransportParam(transport);
                    }
                }
            } catch (Exception e) {
                // Should not happen, but consequences would be that the transport parameter is not set. 
            }
View Full Code Here

     *            the request to manipulate
     * @return true if route is popped, false otherwise
     */
    public Address popRouteHeader() {
        // loose route support: remove first route header
        Address poppedRoute = null;
        Header r = getRawHeader(Header.ROUTE);

        if (r != null) {
            r.setReadOnly(false);

            ListIterator<Address> it_a = null;

            try {
                it_a = r.getAddressValues();

                Address a = it_a.next();
                URIImpl uri = (URIImpl) a.getURI();

                if (uri.getLrParam()) {
                    if (_logger.isLoggable(Level.FINE)) {
                        _logger.log(Level.FINE, "Removing route = " + a);
                    }
View Full Code Here

            if (origRequest.getMethod().equals("REGISTER")) {
                copiedReqImpl.setHeader("Contact", contact.iterator().next());
            } else { // change only parameters and user part of the URI

                try {
                    Address cnctAddr = new AddressImpl(contact.iterator().next());
                    Address contactAddr = copiedReqImpl.getAddressHeaderImpl(
                            "Contact");

                    if (contactAddr != null && !contactAddr.isWildcard()) {
                        ((AddressImpl) contactAddr).modifyContactParameters(cnctAddr);
                    }
                } catch (ServletParseException ex) {
                    if (_log.isLoggable(Level.FINE)) {
                        _log.log(Level.FINE,
View Full Code Here

    public String createTag(String name) {
        String tag = _sf.createTag();

        try {
            Address adr = headerMap.get(name).getAddressValue();
            ((AddressImpl) adr).setReadOnly(false);
            adr.setParameter(AddressImpl.TAG_PARAM, tag);
            ((AddressImpl) adr).setReadOnly(true);
        } catch (ServletParseException e) {
            return null;
        }
View Full Code Here

        if (!(o instanceof Address)) {
            return false;
        }

        Address a = (Address) o;

        if (!_uri.equals(a.getURI())) {
            return false;
        }

        if (_wildcard != a.isWildcard()) {
            return false;
        }

        // compare parameters
        if (a instanceof Address) {
View Full Code Here

     *
     * @return the from address for caller and to address for callee, otherwise
     *         null
     */
    private Address getLocalSide() {
        Address add = null;

        if (getPFieldType().equals(Type.Caller)) {
            add = getFrom();
        } else if (getPFieldType().equals(Type.Callee)) {
            add = getTo();
View Full Code Here

TOP

Related Classes of javax.servlet.sip.Address

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.