Search in sources :

Example 61 with InvalidArgumentException

use of javax.sip.InvalidArgumentException in project load-balancer by RestComm.

the class Shootist method processInvite.

public void processInvite(Request request, ServerTransaction stx) {
    try {
        inviteRequest = request;
        Response response = messageFactory.createResponse(180, request);
        contactHeader = headerFactory.createContactHeader(addressFactory.createAddress("sip:here@" + localIPAddress + ":" + localPort));
        response.addHeader(contactHeader);
        dialog = stx.getDialog();
        // check removing incorrect patching last via https://github.com/RestComm/load-balancer/issues/97
        FromHeader fromHeader = (FromHeader) response.getHeader(From.NAME);
        URI currUri = fromHeader.getAddress().getURI();
        String fromUser = null;
        if (currUri.isSipURI()) {
            fromUser = ((SipURI) currUri).getUser();
            if (fromUser.equals("senderToNexmo")) {
                ViaHeader lastViaHeader = null;
                ListIterator<ViaHeader> it = response.getHeaders(ViaHeader.NAME);
                while (it.hasNext()) lastViaHeader = it.next();
                lastViaHeader.setReceived("127.0.0.2");
                lastViaHeader.setParameter("rport", "1111");
            }
        }
        stx.sendResponse(response);
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        response = messageFactory.createResponse(200, request);
        contactHeader = headerFactory.createContactHeader(addressFactory.createAddress("sip:here@" + localIPAddress + ":" + localPort));
        response.addHeader(contactHeader);
        dialog = stx.getDialog();
        stx.sendResponse(response);
    } catch (SipException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (InvalidArgumentException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (ParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}
Also used : Response(javax.sip.message.Response) InvalidArgumentException(javax.sip.InvalidArgumentException) ViaHeader(javax.sip.header.ViaHeader) FromHeader(javax.sip.header.FromHeader) ParseException(java.text.ParseException) SipException(javax.sip.SipException) URI(javax.sip.address.URI) SipURI(javax.sip.address.SipURI)

Aggregations

InvalidArgumentException (javax.sip.InvalidArgumentException)61 ParseException (java.text.ParseException)32 SipException (javax.sip.SipException)31 Request (javax.sip.message.Request)16 SipURI (javax.sip.address.SipURI)15 ClientTransaction (javax.sip.ClientTransaction)12 Response (javax.sip.message.Response)12 TransactionUnavailableException (javax.sip.TransactionUnavailableException)11 URI (javax.sip.address.URI)11 ContactHeader (javax.sip.header.ContactHeader)10 ViaHeader (javax.sip.header.ViaHeader)10 IOException (java.io.IOException)9 ObjectInUseException (javax.sip.ObjectInUseException)8 CallIdHeader (javax.sip.header.CallIdHeader)8 FromHeader (javax.sip.header.FromHeader)8 ToHeader (javax.sip.header.ToHeader)8 SIPRequest (gov.nist.javax.sip.message.SIPRequest)7 Address (javax.sip.address.Address)7 CSeqHeader (javax.sip.header.CSeqHeader)7 MaxForwardsHeader (javax.sip.header.MaxForwardsHeader)7