Android Open Source - restcomm-android-sdk Register






From Project

Back to project page restcomm-android-sdk.

License

The source code is released under:

GNU General Public License

If you think the Android project restcomm-android-sdk listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package org.mobicents.restcomm.android.sdk.impl.sipmessages;
/*  w  w w  .  j  a  va2s.c o  m*/
import java.text.ParseException;
import java.util.*;


import android.javax.sip.ClientTransaction;
import android.javax.sip.InvalidArgumentException;
import android.javax.sip.SipProvider;
import android.javax.sip.address.Address;
import android.javax.sip.address.AddressFactory;
import android.javax.sip.address.URI;
import android.javax.sip.header.ExpiresHeader;
import android.javax.sip.header.HeaderFactory;
import android.javax.sip.header.ViaHeader;
import android.javax.sip.message.MessageFactory;
import android.javax.sip.message.Request;
import android.os.AsyncTask;

public class Register {

  public Request MakeRequest(org.mobicents.restcomm.android.sdk.impl.SipManager sipManager) throws ParseException,
      InvalidArgumentException {

    AddressFactory addressFactory = sipManager.addressFactory;
    SipProvider sipProvider = sipManager.sipProvider;
    MessageFactory messageFactory = sipManager.messageFactory;
    HeaderFactory headerFactory = sipManager.headerFactory;
    // Create addresses and via header for the request
    Address fromAddress = addressFactory.createAddress("sip:"
        + sipManager.getSipProfile().getSipUserName() + "@"
        + sipManager.getSipProfile().getRemoteIp());
    fromAddress.setDisplayName(sipManager.getSipProfile().getSipUserName());
    Address toAddress = addressFactory.createAddress("sip:"
        + sipManager.getSipProfile().getSipUserName() + "@"
        + sipManager.getSipProfile().getRemoteIp());
    toAddress.setDisplayName(sipManager.getSipProfile().getSipUserName());

    Address contactAddress = sipManager.createContactAddress();
    ArrayList<ViaHeader> viaHeaders = sipManager.createViaHeader();
    URI requestURI = addressFactory.createAddress(
        "sip:" + sipManager.getSipProfile().getRemoteEndpoint())
        .getURI();
    // Build the request
    final Request request = messageFactory.createRequest(requestURI,
        Request.REGISTER, sipProvider.getNewCallId(),
        headerFactory.createCSeqHeader(1l, Request.REGISTER),
        headerFactory.createFromHeader(fromAddress, "c3ff411e"),
        headerFactory.createToHeader(toAddress, null), viaHeaders,
        headerFactory.createMaxForwardsHeader(70));

    // Add the contact header
    request.addHeader(headerFactory.createContactHeader(contactAddress));
    ExpiresHeader eh = headerFactory.createExpiresHeader(300);
    request.addHeader(eh);
    // Print the request
    System.out.println(request.toString());
    return request;
    // Send the request --- triggers an IOException
    // sipProvider.sendRequest(request);
    // ClientTransaction transaction = sipProvider
    // .getNewClientTransaction(request);
    // Send the request statefully, through the client transaction.
    // transaction.sendRequest();

  }

}




Java Source Code List

com.example.sipmessagetest.MainActivity.java
com.example.sipmessagetest.SettingsActivity.java
org.mobicents.restcomm.android.sdk.IDevice.java
org.mobicents.restcomm.android.sdk.ISipEventListener.java
org.mobicents.restcomm.android.sdk.ISipManager.java
org.mobicents.restcomm.android.sdk.NotInitializedException.java
org.mobicents.restcomm.android.sdk.SipManagerState.java
org.mobicents.restcomm.android.sdk.SipProfile.java
org.mobicents.restcomm.android.sdk.impl.AccountManagerImpl.java
org.mobicents.restcomm.android.sdk.impl.DeviceImpl.java
org.mobicents.restcomm.android.sdk.impl.SipEvent.java
org.mobicents.restcomm.android.sdk.impl.SipManager.java
org.mobicents.restcomm.android.sdk.impl.SoundManager.java
org.mobicents.restcomm.android.sdk.impl.UserCredentialsImpl.java
org.mobicents.restcomm.android.sdk.impl.sipmessages.Invite.java
org.mobicents.restcomm.android.sdk.impl.sipmessages.Message.java
org.mobicents.restcomm.android.sdk.impl.sipmessages.Register.java
org.mobicents.restcomm.android.sdk.ui.IncomingCall.java