2016-05-03 2 views
1

Je cherche à déclencher une demande d'enregistrement lors de la réception d'une invitation comme ceci:Restcomm SipServlet UAC contact manquant lors de l'utilisation WSS

SipURI fromToURI = sipFactory.createSipURI(userName, domainName); 
//using the invite request to make a register request 

SipServletRequest sipServletRequest = sipFactory.createRequest(request.getApplicationSession(), "REGISTER", fromToURI, fromToURI); 
sipServletRequest.setHeader("Expires", "3600");  
sipServletRequest.setHeader("User-Agent", "mobicentsWSSclient"); 
SipURI requestURI = sipFactory.createSipURI("myroutablewssproxy.com", domainName); 
//.setPort(); 
requestURI.setTransportParam("wss"); 
requestURI.setPort(8443); 
try { 
    Parameterable parameterable = sipServletRequest.getParameterableHeader("Contact"); 
    parameterable.setParameter("expires", "0"); 
} catch (ServletParseException e1) { 
    logger.error("Impossible to set the expires on the contact header",e1); 
} 
try {   
    sipServletRequest.setRequestURI(requestURI);     
    sipServletRequest.send(); 
} catch (IOException e) { 
    logger.error("An unexpected exception occured while sending the REGISTER request",e); 
} 

mais je suis d'obtenir une exception de pointeur NULL lorsque vous tentez d'accéder à l'en-tête de contact. Si je n'essaie pas d'accéder à l'en-tête du contact, la demande d'enregistrement manque entièrement d'un en-tête de contact et la tentative d'enregistrement échoue. Existe-t-il un moyen d'accéder au contexte de servlet et d'utiliser ses informations de contact dans cette demande d'enregistrement?

+0

pouvez-vous s'il vous plaît également partager la trace de la pile d'exception – Waqas

Répondre

0

De la spécification Servlet SIP Section 4.1.3 tête de contact est un en-tête du système ce qui signifie qu'il est géré par le conteneur et ne peut être modifié ou fixé par les applications à l'exception des messages suivants: 1. demandes REGISTER et réponses 2. réponses 3xx 3. 485 réponses 4. 200/OPTIONS réponses

donc, dans ce cas, votre dossier est responsable de la mise en contact en-tête sur les demandes et les réponses REGISTER.