r2904 - in trunk: libminisip/source/sip libmsip/include/libmsip
libmsip/source libmsip/source/dialogs libmsip/source/headers
libmsip/source/messages
mikma at minisip.org
mikma at minisip.org
Mon Nov 13 18:47:58 CET 2006
Author: mikma
Date: 2006-11-13 18:47:58 +0100 (Mon, 13 Nov 2006)
New Revision: 2904
Modified:
trunk/libminisip/source/sip/SipDialogConfVoip.cxx
trunk/libminisip/source/sip/SipDialogPresenceClient.cxx
trunk/libminisip/source/sip/SipDialogVoip.cxx
trunk/libminisip/source/sip/SipDialogVoipClient.cxx
trunk/libminisip/source/sip/SipDialogVoipServer.cxx
trunk/libminisip/source/sip/SipDialogVoipServer100rel.cxx
trunk/libmsip/include/libmsip/SipDialogConfig.h
trunk/libmsip/include/libmsip/SipHeaderContact.h
trunk/libmsip/include/libmsip/SipRequest.h
trunk/libmsip/include/libmsip/SipStack.h
trunk/libmsip/source/SipDialogConfig.cxx
trunk/libmsip/source/dialogs/SipDialogRegister.cxx
trunk/libmsip/source/headers/SipHeaderContact.cxx
trunk/libmsip/source/messages/SipRequest.cxx
Log:
* Change contact uri:s to use SipUri,
created by SipDialogConfig::getContactUri.
Modified: trunk/libminisip/source/sip/SipDialogConfVoip.cxx
===================================================================
--- trunk/libminisip/source/sip/SipDialogConfVoip.cxx 2006-11-12 23:04:52 UTC (rev 2903)
+++ trunk/libminisip/source/sip/SipDialogConfVoip.cxx 2006-11-13 17:47:58 UTC (rev 2904)
@@ -999,11 +999,9 @@
branch,
dialogState.callId,
SipUri(dialogState.remoteUri),
- getDialogConfig()->inherited->externalContactIP,
- getDialogConfig()->inherited->getLocalSipPort(phoneconf->useSTUN),
- SipUri(getDialogConfig()->sipIdentity->getSipUri()),
+ getDialogConfig()->sipIdentity->getSipUri(),
+ getDialogConfig()->getContactUri(phoneconf->useSTUN),
dialogState.seqNo,
- getDialogConfig()->inherited->getTransport(),
sipStack) ;
addAuthorizations( inv );
Modified: trunk/libminisip/source/sip/SipDialogPresenceClient.cxx
===================================================================
--- trunk/libminisip/source/sip/SipDialogPresenceClient.cxx 2006-11-12 23:04:52 UTC (rev 2903)
+++ trunk/libminisip/source/sip/SipDialogPresenceClient.cxx 2006-11-13 17:47:58 UTC (rev 2904)
@@ -146,7 +146,7 @@
requestTimeout(timeout, "timerDoSubscribe");
#ifdef DEBUG_OUTPUT
- merr << "Subscribed for presence for user "<< toUri->getSipUri.getString()<< end;
+ merr << "Subscribed for presence for user "<< toUri->getSipUri().getString()<< end;
#endif
return true;
}else{
Modified: trunk/libminisip/source/sip/SipDialogVoip.cxx
===================================================================
--- trunk/libminisip/source/sip/SipDialogVoip.cxx 2006-11-12 23:04:52 UTC (rev 2903)
+++ trunk/libminisip/source/sip/SipDialogVoip.cxx 2006-11-13 17:47:58 UTC (rev 2904)
@@ -643,10 +643,7 @@
ok->getHeaderValueTo()->setParameter("tag",dialogState.localTag);
MRef<SipHeaderValue *> contact =
new SipHeaderValueContact(
- getDialogConfig()->sipIdentity->getSipUri().getString(),
- getDialogConfig()->inherited->externalContactIP,
- getDialogConfig()->inherited->getLocalSipPort(phoneconf->useSTUN),
- "", getDialogConfig()->inherited->getTransport(),
+ getDialogConfig()->getContactUri(phoneconf->useSTUN),
-1); //set expires to -1, we do not use it (only in register)
ok->addHeader( new SipHeader(*contact) );
Modified: trunk/libminisip/source/sip/SipDialogVoipClient.cxx
===================================================================
--- trunk/libminisip/source/sip/SipDialogVoipClient.cxx 2006-11-12 23:04:52 UTC (rev 2903)
+++ trunk/libminisip/source/sip/SipDialogVoipClient.cxx 2006-11-13 17:47:58 UTC (rev 2904)
@@ -644,11 +644,9 @@
branch,
dialogState.callId,
SipUri(dialogState.remoteUri),
- getDialogConfig()->inherited->externalContactIP,
- getDialogConfig()->inherited->getLocalSipPort(phoneconf->useSTUN),
- SipUri(getDialogConfig()->sipIdentity->getSipUri()),
+ getDialogConfig()->sipIdentity->getSipUri(),
+ getDialogConfig()->getContactUri(phoneconf->useSTUN),
dialogState.seqNo,
- getDialogConfig()->sipIdentity->getSipProxy()->getUri().getTransport(),
sipStack ) ;
addAuthorizations( inv );
@@ -729,10 +727,7 @@
MRef<SipHeaderValue *> contact =
new SipHeaderValueContact(
- getDialogConfig()->sipIdentity->getSipUri().getString(),
- getDialogConfig()->inherited->externalContactIP,
- getDialogConfig()->inherited->getLocalSipPort(phoneconf->useSTUN),
- "", getDialogConfig()->inherited->getTransport(),
+ getDialogConfig()->getContactUri(phoneconf->useSTUN),
-1); //set expires to -1, we do not use it (only in register)
ok->addHeader( new SipHeader(*contact) );
Modified: trunk/libminisip/source/sip/SipDialogVoipServer.cxx
===================================================================
--- trunk/libminisip/source/sip/SipDialogVoipServer.cxx 2006-11-12 23:04:52 UTC (rev 2903)
+++ trunk/libminisip/source/sip/SipDialogVoipServer.cxx 2006-11-13 17:47:58 UTC (rev 2904)
@@ -412,10 +412,7 @@
MRef<SipHeaderValue *> contact =
new SipHeaderValueContact(
- getDialogConfig()->sipIdentity->getSipUri().getString(),
- getDialogConfig()->inherited->externalContactIP,
- getDialogConfig()->inherited->getLocalSipPort(phoneconf->useSTUN),
- "", getDialogConfig()->inherited->getTransport(),
+ getDialogConfig()->getContactUri(phoneconf->useSTUN),
-1); //set expires to -1, we do not use it (only in register)
ok->addHeader( new SipHeader(*contact) );
@@ -478,10 +475,7 @@
MRef<SipHeaderValue *> contact =
new SipHeaderValueContact(
- getDialogConfig()->sipIdentity->getSipUri().getString(),
- getDialogConfig()->inherited->externalContactIP,
- getDialogConfig()->inherited->getLocalSipPort(phoneconf->useSTUN),
- "", getDialogConfig()->inherited->getTransport(),
+ getDialogConfig()->getContactUri(phoneconf->useSTUN),
-1); //set expires to -1, we do not use it (only in register)
ringing->addHeader( new SipHeader(*contact) );
Modified: trunk/libminisip/source/sip/SipDialogVoipServer100rel.cxx
===================================================================
--- trunk/libminisip/source/sip/SipDialogVoipServer100rel.cxx 2006-11-12 23:04:52 UTC (rev 2903)
+++ trunk/libminisip/source/sip/SipDialogVoipServer100rel.cxx 2006-11-13 17:47:58 UTC (rev 2904)
@@ -283,10 +283,7 @@
MRef<SipHeaderValue *> contact =
new SipHeaderValueContact(
- getDialogConfig()->sipIdentity->getSipUri().getString(),
- getDialogConfig()->inherited->externalContactIP,
- getDialogConfig()->inherited->getLocalSipPort(phoneconf->useSTUN),
- "", getDialogConfig()->inherited->getTransport(),
+ getDialogConfig()->getContactUri(phoneconf->useSTUN),
-1); //set expires to -1, we do not use it (only in register)
ok->addHeader( new SipHeader(*contact) );
@@ -315,10 +312,7 @@
MRef<SipHeaderValue *> contact =
new SipHeaderValueContact(
- getDialogConfig()->sipIdentity->getSipUri().getString(),
- getDialogConfig()->inherited->externalContactIP,
- getDialogConfig()->inherited->getLocalSipPort(phoneconf->useSTUN),
- "", getDialogConfig()->inherited->getTransport(),
+ getDialogConfig()->getContactUri(phoneconf->useSTUN),
-1); //set expires to -1, we do not use it (only in register)
progress->addHeader( new SipHeader(*contact) );
Modified: trunk/libmsip/include/libmsip/SipDialogConfig.h
===================================================================
--- trunk/libmsip/include/libmsip/SipDialogConfig.h 2006-11-12 23:04:52 UTC (rev 2903)
+++ trunk/libmsip/include/libmsip/SipDialogConfig.h 2006-11-13 17:47:58 UTC (rev 2904)
@@ -303,6 +303,7 @@
void useIdentity( MRef<SipIdentity*> identity,
std::string transport="UDP_X");
+ SipUri getContactUri(bool useStun) const;
};
#endif
Modified: trunk/libmsip/include/libmsip/SipHeaderContact.h
===================================================================
--- trunk/libmsip/include/libmsip/SipHeaderContact.h 2006-11-12 23:04:52 UTC (rev 2903)
+++ trunk/libmsip/include/libmsip/SipHeaderContact.h 2006-11-13 17:47:58 UTC (rev 2904)
@@ -51,11 +51,7 @@
// SipHeaderValueContact();
SipHeaderValueContact(const std::string &build_from);
- SipHeaderValueContact(const std::string &username,
- const std::string &ip,
- int32_t port,
- const std::string &usertype="phone",
- const std::string &transport="",
+ SipHeaderValueContact(const SipUri &contactUri,
int expires=1000);
virtual ~SipHeaderValueContact();
@@ -70,7 +66,7 @@
/**
* returns the protocol used. This can be either UDP or TCP
*/
- SipUri getUri() const;
+ const SipUri &getUri() const;
void setUri(const SipUri &uri);
/**
Modified: trunk/libmsip/include/libmsip/SipRequest.h
===================================================================
--- trunk/libmsip/include/libmsip/SipRequest.h 2006-11-12 23:04:52 UTC (rev 2903)
+++ trunk/libmsip/include/libmsip/SipRequest.h 2006-11-13 17:47:58 UTC (rev 2904)
@@ -82,11 +82,9 @@
const std::string &branch,
const std::string &call_id,
const SipUri &toUri,
- const std::string &localAddr,
- int32_t localSipPort,
const SipUri &fromUri,
+ const SipUri &contact,
int32_t seq_no,
- const std::string &transport,
MRef<SipStack*> stack
);
@@ -101,12 +99,9 @@
static MRef<SipRequest*> createSipMessageRegister(
const std::string &branch,
const std::string &call_id,
- const std::string &domainarg,
- const std::string &localIp,
- int32_t sip_listen_port,
const SipUri &fromUri,
+ const SipUri &contact,
int32_t seq_no,
- const std::string &transport,
int expires);
static MRef<SipRequest*> createSipMessageSubscribe(
Modified: trunk/libmsip/include/libmsip/SipStack.h
===================================================================
--- trunk/libmsip/include/libmsip/SipStack.h 2006-11-12 23:04:52 UTC (rev 2903)
+++ trunk/libmsip/include/libmsip/SipStack.h 2006-11-13 17:47:58 UTC (rev 2904)
@@ -111,16 +111,11 @@
int32_t localTlsPort;
/**
- @return the transport set in the SipProxy (means preferred ... )
- */
- std::string getTransport();
-
- /**
@return the port in use, depending on the transport.
@param usesStun (default false), found in SipSoftPhoneConfiguration::useSTUN
*/
- int32_t getLocalSipPort(bool usesStun=false);
-
+ int32_t getLocalSipPort(bool usesStun=false, const std::string &transport="UDP");
+
// MRef<SipIdentity*> sipIdentity;
bool autoAnswer;
Modified: trunk/libmsip/source/SipDialogConfig.cxx
===================================================================
--- trunk/libmsip/source/SipDialogConfig.cxx 2006-11-12 23:04:52 UTC (rev 2903)
+++ trunk/libmsip/source/SipDialogConfig.cxx 2006-11-13 17:47:58 UTC (rev 2904)
@@ -358,21 +358,8 @@
}
-string SipStackConfig::getTransport() {
- string ret; //XXX TODO: fixme - should this method exist somewhere else?!
-// string ret = sipIdentity->getSipProxy()->getTransport();
- if( ret == "" ) {
- #ifdef DEBUG_OUTPUT
- cerr << "SipStackConfig::getTransport(): empty proxy transport ... returning default UDP" << endl;
- #endif
- ret = "UDP";
- }
- return ret;
-}
-
-int32_t SipStackConfig::getLocalSipPort(bool usesStun) {
+int32_t SipStackConfig::getLocalSipPort(bool usesStun, const string &transport ) {
int32_t localSipPort;
- string transport = getTransport();
if(transport=="TCP" || transport=="tcp")
localSipPort = localTcpPort;
@@ -413,3 +400,22 @@
}
+SipUri SipDialogConfig::getContactUri(bool useStun) const{
+ SipUri contactUri;
+ const SipUri &fromUri = sipIdentity->getSipUri();
+ string transport;
+
+ if( sipIdentity->getSipProxy() )
+ transport = sipIdentity->getSipProxy()->getUri().getTransport();
+ else
+ transport = fromUri.getTransport();
+
+ contactUri.setParams( fromUri.getUserName(),
+ inherited->externalContactIP,
+ "",
+ inherited->getLocalSipPort(useStun, transport));
+ if( transport != "" )
+ contactUri.setTransport( transport );
+
+ return contactUri;
+}
Modified: trunk/libmsip/source/dialogs/SipDialogRegister.cxx
===================================================================
--- trunk/libmsip/source/dialogs/SipDialogRegister.cxx 2006-11-12 23:04:52 UTC (rev 2903)
+++ trunk/libmsip/source/dialogs/SipDialogRegister.cxx 2006-11-13 17:47:58 UTC (rev 2904)
@@ -697,12 +697,9 @@
MRef<SipRequest*> reg= SipRequest::createSipMessageRegister(
branch,
dialogState.callId,
- getDialogConfig()->sipIdentity->getSipUri().getIp(), //proxy_domain,
- getDialogConfig()->inherited->externalContactIP,
- getDialogConfig()->inherited->getLocalSipPort(true), //if udp, use stun
getDialogConfig()->sipIdentity->getSipUri(),
+ getDialogConfig()->getContactUri(true), //if udp, use stun
dialogState.seqNo,
- getDialogConfig()->sipIdentity->getSipProxy()->getUri().getTransport(),
getDialogConfig()->sipIdentity->getSipProxy()->getRegisterExpires_int()
);
Modified: trunk/libmsip/source/headers/SipHeaderContact.cxx
===================================================================
--- trunk/libmsip/source/headers/SipHeaderContact.cxx 2006-11-12 23:04:52 UTC (rev 2903)
+++ trunk/libmsip/source/headers/SipHeaderContact.cxx 2006-11-13 17:47:58 UTC (rev 2904)
@@ -78,24 +78,17 @@
#endif
}
-SipHeaderValueContact::SipHeaderValueContact(const string &username,
- const string &ip,
- int32_t port,
- const string &user_type,
- const string &transport,
+SipHeaderValueContact::SipHeaderValueContact(const SipUri &contactUri,
int expires
)
:SipHeaderValue(SIP_HEADER_TYPE_CONTACT,sipHeaderValueContactTypeStr)
{
- uri.setParams(username,ip,user_type,port);
- uri.setIp( ip ); //fix the domain part to be the ip address ... not the domain name
+ uri = contactUri;
if( expires != -1 )
this->setExpires(expires);
else this->removeParameter("expires" ); //-1 indicates that the expires is not to be used
- if (transport!="")
- uri.setTransport(transport);
//merr << "SipHeaderValueContact::getString: username="<< username <<end;
}
@@ -142,7 +135,7 @@
return ret;
}
-SipUri SipHeaderValueContact::getUri() const{
+const SipUri &SipHeaderValueContact::getUri() const{
return uri;
}
Modified: trunk/libmsip/source/messages/SipRequest.cxx
===================================================================
--- trunk/libmsip/source/messages/SipRequest.cxx 2006-11-12 23:04:52 UTC (rev 2903)
+++ trunk/libmsip/source/messages/SipRequest.cxx 2006-11-13 17:47:58 UTC (rev 2904)
@@ -157,28 +157,12 @@
}
static void addHeaders( MRef<SipRequest*> req,
- const string &call_id,
- const SipUri &toUri,
- const string &localAddr,
- int32_t localSipPort,
- const SipUri &fromUri,
- int32_t seq_no,
- const string &transport,
+ const SipUri &contact,
MRef<SipStack*> stack
)
{
- req->setUri(toUri);
-
-// SipUri fromUri(from_tel_no);
- req->addHeader(new SipHeader( new SipHeaderValueFrom(fromUri) ) );
-
-// SipUri toUri(tel_no);
- req->addHeader(new SipHeader( new SipHeaderValueTo(toUri) ));
-
- req->addHeader(new SipHeader(new SipHeaderValueCallID(call_id)) );
- req->addHeader(new SipHeader(new SipHeaderValueCSeq("INVITE",seq_no)));
- req->addHeader(new SipHeader(new SipHeaderValueContact(fromUri.getUserName(), localAddr, localSipPort,"",transport)));
+ req->addHeader(new SipHeader(new SipHeaderValueContact(contact)));
req->addHeader(new SipHeader(new SipHeaderValueUserAgent(HEADER_USER_AGENT_DEFAULT)));
if (stack){
req->addHeader(new SipHeader(new SipHeaderValueSupported(stack->getAllSupportedExtensionsStr())));
@@ -188,20 +172,18 @@
MRef<SipRequest*> SipRequest::createSipMessageInvite(const string &branch,
const string &call_id,
const SipUri &toUri,
- const string &localAddr,
- int32_t localSipPort,
const SipUri &fromUri,
+ const SipUri &contact,
int32_t seq_no,
- const string &transport,
MRef<SipStack*> stack
)
{
MRef<SipRequest*> req = new SipRequest(branch,"INVITE");
- addHeaders(req, call_id, toUri,
- localAddr, localSipPort,
- fromUri, seq_no,
- transport, stack);
+ req->setUri(toUri);
+ req->addDefaultHeaders( fromUri, toUri, "INVITE", seq_no, call_id );
+ addHeaders(req, contact, stack);
+
return req;
}
@@ -222,21 +204,18 @@
MRef<SipRequest*> SipRequest::createSipMessageRegister(const string &branch,
const string &call_id,
- const string &domain,
- const string &localIp,
- int32_t sip_listen_port,
const SipUri &fromUri,
+ const SipUri &contact,
int32_t seq_no,
- const string &transport,
int expires)
{
+ const std::string &domain = fromUri.getIp();
+
MRef<SipRequest*> req = new SipRequest(branch, "REGISTER","sip:"+domain);
- req->setUri("sip:" + domain);
-
req->addDefaultHeaders(fromUri,fromUri,"REGISTER",seq_no,call_id);
- req->addHeader(new SipHeader(new SipHeaderValueContact(fromUri.getUserName(), localIp, sip_listen_port,"",transport, expires)));
+ req->addHeader(new SipHeader(new SipHeaderValueContact(contact, expires)));
req->addHeader(new SipHeader(new SipHeaderValueUserAgent(HEADER_USER_AGENT_DEFAULT)));
req->setContent(NULL);
More information about the Minisip-devel
mailing list