Skip to content

Instantly share code, notes, and snippets.

@arslan70
Last active August 29, 2015 14:06
Show Gist options
  • Save arslan70/0c59dfbbbf651fcd1c37 to your computer and use it in GitHub Desktop.
Save arslan70/0c59dfbbbf651fcd1c37 to your computer and use it in GitHub Desktop.
private void send_register() {
try {
System.out.println();
SipStackAndroid.getInstance();
AddressFactory addressFactory = SipStackAndroid.addressFactory;
SipStackAndroid.getInstance();
SipProvider sipProvider = SipStackAndroid.sipProvider;
SipStackAndroid.getInstance();
MessageFactory messageFactory = SipStackAndroid.messageFactory;
SipStackAndroid.getInstance();
HeaderFactory headerFactory = SipStackAndroid.headerFactory;
// Create addresses and via header for the request
Address fromAddress = addressFactory.createAddress("sip:"
+ SipStackAndroid.sipUserName + "@" + SipStackAndroid.remoteIp);
fromAddress.setDisplayName(SipStackAndroid.sipUserName);
Address toAddress = addressFactory.createAddress("sip:"
+ SipStackAndroid.sipUserName + "@" + SipStackAndroid.remoteIp);
toAddress.setDisplayName(SipStackAndroid.sipUserName);
Address contactAddress = createContactAddress();
ArrayList<ViaHeader> viaHeaders = createViaHeader();
URI requestURI = addressFactory.createAddress(
"sip:" + SipStackAndroid.remoteEndpoint).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());
// Send the request --- triggers an IOException
// sipProvider.sendRequest(request);
ClientTransaction transaction = sipProvider
.getNewClientTransaction(request);
// Send the request statefully, through the client transaction.
transaction.sendRequest();
} catch (Exception e) {
e.printStackTrace();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment