SDP ergänzt, sinnvoll wär es jetzt geeignete Funktionen zu erstellen + RTP zu ergänzen
This commit is contained in:
parent
4777785ad4
commit
8fbb5a96c8
@ -12,6 +12,9 @@ import java.text.ParseException;
|
|||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
import javax.sdp.SdpException;
|
||||||
|
import javax.sdp.SdpFactory;
|
||||||
|
import javax.sdp.SessionDescription;
|
||||||
import javax.sip.DialogTerminatedEvent;
|
import javax.sip.DialogTerminatedEvent;
|
||||||
import javax.sip.IOExceptionEvent;
|
import javax.sip.IOExceptionEvent;
|
||||||
import javax.sip.InvalidArgumentException;
|
import javax.sip.InvalidArgumentException;
|
||||||
@ -42,10 +45,10 @@ public class VoIP implements SipListenerExt
|
|||||||
AddressFactory addressFactory; // Used to create SIP URIs.
|
AddressFactory addressFactory; // Used to create SIP URIs.
|
||||||
ListeningPoint listeningPoint; // SIP listening IP address/port.
|
ListeningPoint listeningPoint; // SIP listening IP address/port.
|
||||||
Properties properties; // Other properties.
|
Properties properties; // Other properties.
|
||||||
|
|
||||||
private int counter;
|
private int counter;
|
||||||
private int myPort = 5060;
|
private int myPort = 5060;
|
||||||
|
|
||||||
private String myName = "129";
|
private String myName = "129";
|
||||||
private String protocolTyp = "UDP";
|
private String protocolTyp = "UDP";
|
||||||
private String myIPAddress;
|
private String myIPAddress;
|
||||||
@ -53,11 +56,10 @@ public class VoIP implements SipListenerExt
|
|||||||
private int branch = hashCode();
|
private int branch = hashCode();
|
||||||
Address contactAddress;
|
Address contactAddress;
|
||||||
private ContactHeader contactHeader;
|
private ContactHeader contactHeader;
|
||||||
|
|
||||||
|
|
||||||
public VoIP() //Konstruktor für eigene Daten
|
public VoIP() //Konstruktor für eigene Daten
|
||||||
{
|
{
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
//wird an sich erstmal nicht gebraucht aber später sinnvoll um eigene Daten zu initialisieren
|
//wird an sich erstmal nicht gebraucht aber später sinnvoll um eigene Daten zu initialisieren
|
||||||
@ -74,7 +76,7 @@ public class VoIP implements SipListenerExt
|
|||||||
this.listeningPoint = this.sipStack.createListeningPoint(this.myIPAddress, this.myPort, this.protocolTyp);
|
this.listeningPoint = this.sipStack.createListeningPoint(this.myIPAddress, this.myPort, this.protocolTyp);
|
||||||
this.sipProvider = this.sipStack.createSipProvider(this.listeningPoint);
|
this.sipProvider = this.sipStack.createSipProvider(this.listeningPoint);
|
||||||
this.sipProvider.addSipListener(this);
|
this.sipProvider.addSipListener(this);
|
||||||
this.contactAddress = this.addressFactory.createAddress("sip:129@" + this.myIPAddress+ ":" + this.myPort); //+ ":" + this.myPort
|
this.contactAddress = this.addressFactory.createAddress("sip:129@" + this.myIPAddress + ":" + this.myPort); //+ ":" + this.myPort
|
||||||
this.contactHeader = this.headerFactory.createContactHeader(contactAddress);
|
this.contactHeader = this.headerFactory.createContactHeader(contactAddress);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
@ -82,30 +84,26 @@ public class VoIP implements SipListenerExt
|
|||||||
System.out.println("Shit");
|
System.out.println("Shit");
|
||||||
System.exit(-1);
|
System.exit(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int hashCode()
|
public int hashCode()
|
||||||
{
|
{
|
||||||
int temp = tag*(new Random(100)).nextInt();
|
int temp = tag * (new Random(100)).nextInt();
|
||||||
return temp;
|
return temp;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void sendRegister(String serverIP, int serverPort) throws ParseException, InvalidArgumentException, SipException
|
public void sendRegister(String serverIP, int serverPort) throws ParseException, InvalidArgumentException, SipException
|
||||||
{
|
{
|
||||||
System.out.println("-----------SendRegister-----------");
|
System.out.println("-----------SendRegister-----------");
|
||||||
Address addressto = this.addressFactory.createAddress("sip:192.168.100.11"); //evtl. mit Port: sip:192.168.100.11:5060
|
Address addressto = this.addressFactory.createAddress("sip:192.168.100.11"); //evtl. mit Port: sip:192.168.100.11:5060
|
||||||
Address addresstob = this.addressFactory.createAddress("sip:192.168.100.11"); //to get example maybe needed
|
Address addresstob = this.addressFactory.createAddress("sip:192.168.100.11"); //to get example maybe needed
|
||||||
|
|
||||||
ToHeader to = this.headerFactory.createToHeader(addresstob, null); // Integer.toString(tag) address + tag
|
ToHeader to = this.headerFactory.createToHeader(addresstob, null); // Integer.toString(tag) address + tag
|
||||||
|
|
||||||
URI requestURI = addressto.getURI();
|
URI requestURI = addressto.getURI();
|
||||||
|
|
||||||
CallIdHeader callId = this.sipProvider.getNewCallId();
|
CallIdHeader callId = this.sipProvider.getNewCallId();
|
||||||
|
|
||||||
FromHeader from = this.headerFactory.createFromHeader(addresstob, String.valueOf(this.tag)); //this.contactAddress
|
FromHeader from = this.headerFactory.createFromHeader(addresstob, String.valueOf(this.tag)); //this.contactAddress
|
||||||
|
|
||||||
ArrayList via = new ArrayList(); //Via needs a List as input
|
ArrayList via = new ArrayList(); //Via needs a List as input
|
||||||
ViaHeader viaheader = this.headerFactory.createViaHeader(this.myIPAddress, this.myPort, "UDP", String.valueOf(branch));
|
ViaHeader viaheader = this.headerFactory.createViaHeader(this.myIPAddress, this.myPort, "UDP", String.valueOf(branch));
|
||||||
via.add(viaheader);
|
via.add(viaheader);
|
||||||
CSeqHeader cSeq = this.headerFactory.createCSeqHeader(1L, "REGISTER");
|
CSeqHeader cSeq = this.headerFactory.createCSeqHeader(1L, "REGISTER");
|
||||||
MaxForwardsHeader maxForwards = this.headerFactory.createMaxForwardsHeader(70);
|
MaxForwardsHeader maxForwards = this.headerFactory.createMaxForwardsHeader(70);
|
||||||
@ -114,13 +112,11 @@ public class VoIP implements SipListenerExt
|
|||||||
//Create Request Header
|
//Create Request Header
|
||||||
System.out.println("----REQUEST HEADER----");
|
System.out.println("----REQUEST HEADER----");
|
||||||
Request request = this.messageFactory.createRequest(requestURI, "REGISTER", callId, cSeq, from, to, via, maxForwards);
|
Request request = this.messageFactory.createRequest(requestURI, "REGISTER", callId, cSeq, from, to, via, maxForwards);
|
||||||
|
|
||||||
request.addHeader(contactHeader);
|
request.addHeader(contactHeader);
|
||||||
request.addHeader(allow);
|
request.addHeader(allow);
|
||||||
request.addHeader(expire);
|
request.addHeader(expire);
|
||||||
System.out.println(request);
|
System.out.println(request);
|
||||||
this.sipProvider.sendRequest(request);
|
this.sipProvider.sendRequest(request);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -131,24 +127,25 @@ public class VoIP implements SipListenerExt
|
|||||||
@Override
|
@Override
|
||||||
public void processRequest(RequestEvent requestEvent)
|
public void processRequest(RequestEvent requestEvent)
|
||||||
{
|
{
|
||||||
System.out.println("----Bekomme Anfrage----");
|
System.out.println("----Bekomme Anfrage----");
|
||||||
if ((Request.OPTIONS).equals(requestEvent.getRequest().getMethod()))
|
//Kommunikation mit Server das man zur Verfügung steht
|
||||||
|
if ((Request.OPTIONS).equals(requestEvent.getRequest().getMethod())) //Options Anfrage von Server nach erfolgreicher Registrierung
|
||||||
{
|
{
|
||||||
System.out.println("200 OK zu Server");
|
System.out.println("200 OK zu Server");
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Response response = this.messageFactory.createResponse(200,requestEvent.getRequest());
|
Response response = this.messageFactory.createResponse(200, requestEvent.getRequest());
|
||||||
response.addHeader((ViaHeader)requestEvent.getRequest().getHeader("Via"));
|
response.addHeader((ViaHeader) requestEvent.getRequest().getHeader("Via"));
|
||||||
response.addHeader((FromHeader)requestEvent.getRequest().getHeader("From"));
|
response.addHeader((FromHeader) requestEvent.getRequest().getHeader("From"));
|
||||||
response.addHeader((ToHeader)requestEvent.getRequest().getHeader("To"));
|
response.addHeader((ToHeader) requestEvent.getRequest().getHeader("To"));
|
||||||
response.addHeader((CallIdHeader)requestEvent.getRequest().getHeader("Call-ID"));
|
response.addHeader((CallIdHeader) requestEvent.getRequest().getHeader("Call-ID"));
|
||||||
response.addHeader((CSeqHeader)requestEvent.getRequest().getHeader("Cseq"));
|
response.addHeader((CSeqHeader) requestEvent.getRequest().getHeader("Cseq"));
|
||||||
//Kontakt Header
|
//Kontakt Header
|
||||||
response.addHeader(contactHeader);
|
response.addHeader(contactHeader);
|
||||||
//Accept Header für application/sdp
|
//Accept Header für application/sdp
|
||||||
AllowHeader allow = this.headerFactory.createAllowHeader("NOTIFY,INVITE,ACK,CANCEL,BYE,REFER,INFO,OPTIONS,MESSAGE");
|
AllowHeader allow = this.headerFactory.createAllowHeader("NOTIFY,INVITE,ACK,CANCEL,BYE,REFER,INFO,OPTIONS,MESSAGE");
|
||||||
AllowEventsHeader allowevents = this.headerFactory.createAllowEventsHeader("talk,hold,refer,call-info");
|
AllowEventsHeader allowevents = this.headerFactory.createAllowEventsHeader("talk,hold,refer,call-info");
|
||||||
response.addHeader((CallIdHeader)requestEvent.getRequest().getHeader("Call-ID"));
|
response.addHeader((CallIdHeader) requestEvent.getRequest().getHeader("Call-ID"));
|
||||||
response.addHeader(allow);
|
response.addHeader(allow);
|
||||||
response.addHeader(allowevents);
|
response.addHeader(allowevents);
|
||||||
this.sipProvider.sendResponse(response);
|
this.sipProvider.sendResponse(response);
|
||||||
@ -158,110 +155,160 @@ public class VoIP implements SipListenerExt
|
|||||||
Logger.getLogger(VoIP.class.getName()).log(Level.SEVERE, null, ex);
|
Logger.getLogger(VoIP.class.getName()).log(Level.SEVERE, null, ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if ((Request.INVITE).equals(requestEvent.getRequest().getMethod()))
|
//Aktive Kommunikation
|
||||||
|
else if ((Request.INVITE).equals(requestEvent.getRequest().getMethod())) // Invite von anderem Benutzer
|
||||||
{
|
{
|
||||||
System.out.println("Hab invitation bekommen");
|
System.out.println("Hab invitation bekommen");
|
||||||
System.out.println("Gleich antworte ich");
|
System.out.println("Gleich antworte ich");
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
//Trying
|
//Trying Message to Server (Response Trying)
|
||||||
Response responsetry = this.messageFactory.createResponse(100,requestEvent.getRequest());
|
System.out.println("----REquest HEader----");
|
||||||
|
Response responsetry = this.messageFactory.createResponse(100, requestEvent.getRequest());
|
||||||
responsetry.addHeader((ViaHeader)requestEvent.getRequest().getHeader("Via"));
|
|
||||||
responsetry.addHeader((FromHeader)requestEvent.getRequest().getHeader("From"));
|
responsetry.addHeader((ViaHeader) requestEvent.getRequest().getHeader("Via"));
|
||||||
responsetry.addHeader((ToHeader)requestEvent.getRequest().getHeader("To"));
|
responsetry.addHeader((FromHeader) requestEvent.getRequest().getHeader("From"));
|
||||||
responsetry.addHeader((CallIdHeader)requestEvent.getRequest().getHeader("Call-ID"));
|
responsetry.addHeader((ToHeader) requestEvent.getRequest().getHeader("To"));
|
||||||
responsetry.addHeader((CSeqHeader)requestEvent.getRequest().getHeader("Cseq"));
|
responsetry.addHeader((CallIdHeader) requestEvent.getRequest().getHeader("Call-ID"));
|
||||||
|
responsetry.addHeader((CSeqHeader) requestEvent.getRequest().getHeader("Cseq"));
|
||||||
|
|
||||||
SupportedHeader supp = this.headerFactory.createSupportedHeader("replace,path,timer"); //nachschauen
|
SupportedHeader supp = this.headerFactory.createSupportedHeader("replace,path,timer"); //nachschauen
|
||||||
AllowHeader allow = this.headerFactory.createAllowHeader("NOTIFY,INVITE,ACK,CANCEL,BYE,REFER,INFO,OPTIONS,MESSAGE");
|
AllowHeader allow = this.headerFactory.createAllowHeader("NOTIFY,INVITE,ACK,CANCEL,BYE,REFER,INFO,OPTIONS,MESSAGE");
|
||||||
|
|
||||||
responsetry.addHeader(supp);
|
responsetry.addHeader(supp);
|
||||||
responsetry.addHeader(allow);
|
responsetry.addHeader(allow);
|
||||||
this.sipProvider.sendResponse(responsetry);
|
this.sipProvider.sendResponse(responsetry);
|
||||||
System.out.println("Trying ist raus");
|
System.out.println("Trying ist raus");
|
||||||
//Ringing
|
|
||||||
Response responsering = this.messageFactory.createResponse(180,requestEvent.getRequest());
|
//Ringing Message to Server (Responste Ringing)
|
||||||
responsering.addHeader((ViaHeader)requestEvent.getRequest().getHeader("Via"));
|
Response responsering = this.messageFactory.createResponse(180, requestEvent.getRequest());
|
||||||
responsering.addHeader((FromHeader)requestEvent.getRequest().getHeader("From"));
|
responsering.addHeader((ViaHeader) requestEvent.getRequest().getHeader("Via"));
|
||||||
|
responsering.addHeader((FromHeader) requestEvent.getRequest().getHeader("From"));
|
||||||
ToHeader temptoring = (ToHeader)requestEvent.getRequest().getHeader("To");
|
|
||||||
temptoring.setTag(String.valueOf(this.tag+Math.random())); //evtl. besseren Tag
|
ToHeader temptoring = (ToHeader) requestEvent.getRequest().getHeader("To");
|
||||||
|
String tempTag = String.valueOf(this.tag + Math.random());
|
||||||
|
temptoring.setTag(tempTag); //evtl. besseren Tag
|
||||||
responsering.addHeader(temptoring);
|
responsering.addHeader(temptoring);
|
||||||
|
|
||||||
responsering.addHeader((CSeqHeader)requestEvent.getRequest().getHeader("Cseq"));
|
responsering.addHeader((CSeqHeader) requestEvent.getRequest().getHeader("Cseq"));
|
||||||
responsering.addHeader(contactHeader);
|
responsering.addHeader(contactHeader);
|
||||||
responsering.addHeader(supp);
|
responsering.addHeader(supp);
|
||||||
responsering.addHeader(allow);
|
responsering.addHeader(allow);
|
||||||
|
|
||||||
AllowEventsHeader allowevent = this.headerFactory.createAllowEventsHeader("talk,hold");// für was gebraucht
|
AllowEventsHeader allowevent = this.headerFactory.createAllowEventsHeader("talk,hold");// für was gebraucht
|
||||||
responsering.addHeader(allowevent);
|
responsering.addHeader(allowevent);
|
||||||
|
|
||||||
this.sipProvider.sendResponse(responsering);
|
this.sipProvider.sendResponse(responsering);
|
||||||
System.out.println("Response ist raus");
|
System.out.println("Response ist raus");
|
||||||
|
|
||||||
|
System.out.println("Erstelle 200 Ok + SDP Header(contentHeader)");
|
||||||
//Jetzt kommt 200 Ok SIP Header + SDP (SIP/SDP)
|
//Jetzt kommt 200 Ok SIP Header + SDP (SIP/SDP)
|
||||||
//Sdp Header erstellen nächster Schritt
|
//Sdp Header erstellen nächster Schritt
|
||||||
|
System.out.println(requestEvent.getDialog());
|
||||||
|
Response okandSDP = this.messageFactory.createResponse(Response.OK, requestEvent.getRequest());
|
||||||
|
//okandSDP.addHeader((ViaHeader) requestEvent.getRequest().getHeader("Via"));
|
||||||
|
okandSDP.addHeader((FromHeader) requestEvent.getRequest().getHeader("From"));
|
||||||
|
|
||||||
|
okandSDP.addHeader(temptoring); //evtl noch Ergänzungen
|
||||||
|
|
||||||
|
okandSDP.addHeader((CSeqHeader) requestEvent.getRequest().getHeader("Cseq"));
|
||||||
|
okandSDP.addHeader(contactHeader);
|
||||||
|
okandSDP.addHeader(supp);
|
||||||
|
okandSDP.addHeader(allow);
|
||||||
|
okandSDP.addHeader(allowevent);
|
||||||
ContentTypeHeader content = headerFactory.createContentTypeHeader("application", "sdp");
|
ContentTypeHeader content = headerFactory.createContentTypeHeader("application", "sdp");
|
||||||
|
|
||||||
}
|
//Create Session Description Body
|
||||||
catch (ParseException | SipException ex)
|
SdpFactory sdpFactory = SdpFactory.getInstance();
|
||||||
|
SessionDescription sessionDescription = sdpFactory.createSessionDescription();
|
||||||
|
sessionDescription.setOrigin(sdpFactory.createOrigin(myName, 8000, 8000, "IN", "IP4", myIPAddress));
|
||||||
|
sessionDescription.setSessionName(sdpFactory.createSessionName("SIP Call"));
|
||||||
|
sessionDescription.setConnection(sdpFactory.createConnection("IN", "IP4", myIPAddress));
|
||||||
|
|
||||||
|
//Media Body
|
||||||
|
String sdpformat[] =
|
||||||
|
{
|
||||||
|
"0", "4", "18",
|
||||||
|
};
|
||||||
|
Vector mediavec = new Vector();
|
||||||
|
mediavec.add(sdpFactory.createMediaDescription("audio", 6022, 1, "RTP/AVP", sdpformat));
|
||||||
|
|
||||||
|
//Media Attribute
|
||||||
|
mediavec.add(sdpFactory.createAttribute("sendrecv", null));
|
||||||
|
mediavec.add(sdpFactory.createAttribute("rtpmap", "0 PCMU/8000"));
|
||||||
|
mediavec.add(sdpFactory.createAttribute("rtpmap", "4 G723/8000"));
|
||||||
|
mediavec.add(sdpFactory.createAttribute("rtpmap", "18 G729A/8000"));
|
||||||
|
mediavec.add(sdpFactory.createAttribute("ptime", "20"));
|
||||||
|
|
||||||
|
sessionDescription.setAttributes(mediavec);
|
||||||
|
|
||||||
|
|
||||||
|
System.out.println("---Beispiel Header---");
|
||||||
|
/*
|
||||||
|
String contentparam = "v=0\r\n" + "o=129 1202 1202" + " IN IP4 192.168.100.247\r\n" + "s=SIP Call\r\n"
|
||||||
|
+ "c=192.168.100.247\r\n" + "t=0 0\r\n" + "m=audio 6022 RTP/AVP 0 4 18\r\n"
|
||||||
|
+ "a=rtpmap:0 PCMU/8000\r\n" + "a=rtpmap:4 G723/8000\r\n" + "a=rtpmap:18 G729A/8000\r\n" +
|
||||||
|
"a=ptime:20\r\n";
|
||||||
|
*/
|
||||||
|
okandSDP.addHeader(content);
|
||||||
|
okandSDP.setContent(sessionDescription, content);
|
||||||
|
System.out.println(okandSDP);
|
||||||
|
this.sipProvider.sendResponse(okandSDP);
|
||||||
|
}
|
||||||
|
catch (ParseException | SipException | SdpException ex)
|
||||||
{
|
{
|
||||||
Logger.getLogger(VoIP.class.getName()).log(Level.SEVERE, null, ex);
|
Logger.getLogger(VoIP.class.getName()).log(Level.SEVERE, null, ex);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
else if ((Request.ACK).equals(requestEvent.getRequest().getMethod()))
|
else if ((Request.ACK).equals(requestEvent.getRequest().getMethod()))
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void processResponse(ResponseEvent responseEvent)
|
public void processResponse(ResponseEvent responseEvent)
|
||||||
{
|
{
|
||||||
System.out.println("---Response---");
|
System.out.println("---Response---");
|
||||||
//System.out.println(responseEvent.getResponse());
|
//System.out.println(responseEvent.getResponse());
|
||||||
|
|
||||||
if (responseEvent.getResponse().getStatusCode() == Response.UNAUTHORIZED)
|
|
||||||
{
|
|
||||||
|
|
||||||
try {
|
|
||||||
Address addresstob = this.addressFactory.createAddress("sip:129@192.168.100.11"); //"sip:Jan@192.168.100.11"
|
|
||||||
ToHeader temp = (ToHeader)responseEvent.getResponse().getHeader("To");
|
|
||||||
|
|
||||||
|
if (responseEvent.getResponse().getStatusCode() == Response.UNAUTHORIZED)
|
||||||
|
{
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Address addresstob = this.addressFactory.createAddress("sip:129@192.168.100.11"); //"sip:Jan@192.168.100.11"
|
||||||
|
ToHeader temp = (ToHeader) responseEvent.getResponse().getHeader("To");
|
||||||
|
|
||||||
ToHeader to = this.headerFactory.createToHeader(addresstob, temp.getTag()); // Integer.toString(tag) address + tag
|
ToHeader to = this.headerFactory.createToHeader(addresstob, temp.getTag()); // Integer.toString(tag) address + tag
|
||||||
URI requestURI = addresstob.getURI();
|
URI requestURI = addresstob.getURI();
|
||||||
|
|
||||||
//CallIdHeader tempcall = (CallIdHeader)responseEvent.getResponse().getHeader("Call-ID");
|
//CallIdHeader tempcall = (CallIdHeader)responseEvent.getResponse().getHeader("Call-ID");
|
||||||
CallIdHeader callId = (CallIdHeader)responseEvent.getResponse().getHeader("Call-ID");
|
CallIdHeader callId = (CallIdHeader) responseEvent.getResponse().getHeader("Call-ID");
|
||||||
FromHeader from = this.headerFactory.createFromHeader(addresstob, String.valueOf(this.tag)); //this.contactAddress
|
FromHeader from = this.headerFactory.createFromHeader(addresstob, String.valueOf(this.tag)); //this.contactAddress
|
||||||
|
|
||||||
//set Authorization header evtl. user Name benutzen den es gibt
|
//set Authorization header evtl. user Name benutzen den es gibt
|
||||||
WWWAuthenticateHeader abc = (WWWAuthenticateHeader)responseEvent.getResponse().getHeader("WWW-Authenticate");
|
WWWAuthenticateHeader abc = (WWWAuthenticateHeader) responseEvent.getResponse().getHeader("WWW-Authenticate");
|
||||||
AuthorizationHeader auth = this.headerFactory.createAuthorizationHeader("Digest");//was kommt in den string
|
AuthorizationHeader auth = this.headerFactory.createAuthorizationHeader("Digest");//was kommt in den string
|
||||||
|
|
||||||
auth.setRealm(abc.getRealm());
|
auth.setRealm(abc.getRealm());
|
||||||
auth.setNonce(abc.getNonce());
|
auth.setNonce(abc.getNonce());
|
||||||
Address addresstest = this.addressFactory.createAddress("sip:"+myName+"@192.168.100.11"); //vielleicht passwort setzen "sip:"+myName+":\"\"@192.168.100.11"
|
Address addresstest = this.addressFactory.createAddress("sip:" + myName + "@192.168.100.11"); //vielleicht passwort setzen "sip:"+myName+":\"\"@192.168.100.11"
|
||||||
auth.setURI(addresstest.getURI());
|
auth.setURI(addresstest.getURI());
|
||||||
auth.setUsername(myName);
|
auth.setUsername(myName);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ArrayList via = new ArrayList(); //Via needs a List as input
|
ArrayList via = new ArrayList(); //Via needs a List as input
|
||||||
ViaHeader viaheader = this.headerFactory.createViaHeader(this.myIPAddress, this.myPort, "UDP", String.valueOf(branch+2));// String.valueOf(hashCode())string branch
|
ViaHeader viaheader = this.headerFactory.createViaHeader(this.myIPAddress, this.myPort, "UDP", String.valueOf(branch + 2));// String.valueOf(hashCode())string branch
|
||||||
via.add(viaheader);
|
via.add(viaheader);
|
||||||
|
|
||||||
CSeqHeader cSeq = this.headerFactory.createCSeqHeader(2L, "REGISTER");
|
CSeqHeader cSeq = this.headerFactory.createCSeqHeader(2L, "REGISTER");
|
||||||
MaxForwardsHeader maxForwards = this.headerFactory.createMaxForwardsHeader(70);
|
MaxForwardsHeader maxForwards = this.headerFactory.createMaxForwardsHeader(70);
|
||||||
AllowHeader allow = this.headerFactory.createAllowHeader("NOTIFY,INVITE,ACK,CANCEL,BYE,REFER,INFO,OPTIONS,MESSAGE");
|
AllowHeader allow = this.headerFactory.createAllowHeader("NOTIFY,INVITE,ACK,CANCEL,BYE,REFER,INFO,OPTIONS,MESSAGE");
|
||||||
ExpiresHeader expire = this.headerFactory.createExpiresHeader(3600); //int value
|
ExpiresHeader expire = this.headerFactory.createExpiresHeader(3600); //int value
|
||||||
|
|
||||||
//Zusätzliche Register Header nach Unauthorzied
|
//Zusätzliche Register Header nach Unauthorzied
|
||||||
|
|
||||||
//Create Request Header
|
//Create Request Header
|
||||||
System.out.println("----REQUEST HEADER2----");
|
System.out.println("----REQUEST HEADER2----");
|
||||||
Request request = this.messageFactory.createRequest(requestURI, "REGISTER", callId, cSeq, from, to, via, maxForwards);
|
Request request = this.messageFactory.createRequest(requestURI, "REGISTER", callId, cSeq, from, to, via, maxForwards);
|
||||||
@ -272,10 +319,11 @@ public class VoIP implements SipListenerExt
|
|||||||
//System.out.println(request);
|
//System.out.println(request);
|
||||||
this.sipProvider.sendRequest(request);
|
this.sipProvider.sendRequest(request);
|
||||||
}
|
}
|
||||||
catch (ParseException | SipException |InvalidArgumentException ex) {
|
catch (ParseException | SipException | InvalidArgumentException ex)
|
||||||
|
{
|
||||||
Logger.getLogger(VoIP.class.getName()).log(Level.SEVERE, null, ex);
|
Logger.getLogger(VoIP.class.getName()).log(Level.SEVERE, null, ex);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
else if (responseEvent.getResponse().getStatusCode() == Response.OK)
|
else if (responseEvent.getResponse().getStatusCode() == Response.OK)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user