Check register interval before authentication: avoid useless auth for interval too brief.
git-svn-id: http://voip.null.ro/svn/yate@6195 acf43c95-373e-0410-b603-e72c3f656dc1
This commit is contained in:
parent
c06f4652c7
commit
b3f63d8479
|
@ -5369,6 +5369,23 @@ void YateSIPEndPoint::regRun(const SIPMessage* message, SIPTransaction* t)
|
|||
return;
|
||||
}
|
||||
|
||||
String tmp(message->getHeader("Expires"));
|
||||
if (tmp.null())
|
||||
tmp = hl->getParam("expires");
|
||||
int expires = tmp.toInteger(-1);
|
||||
if (expires < 0)
|
||||
expires = s_expires_def;
|
||||
if (expires > s_expires_max)
|
||||
expires = s_expires_max;
|
||||
if (expires && (expires < s_expires_min) && (*hl != "*")) {
|
||||
tmp = s_expires_min;
|
||||
SIPMessage* r = new SIPMessage(t->initialMessage(),423);
|
||||
r->addHeader("Min-Expires",tmp);
|
||||
t->setResponse(r);
|
||||
r->deref();
|
||||
return;
|
||||
}
|
||||
|
||||
URI addr(*hl);
|
||||
String num = addr.getUser();
|
||||
if (!num) {
|
||||
|
@ -5382,14 +5399,6 @@ void YateSIPEndPoint::regRun(const SIPMessage* message, SIPTransaction* t)
|
|||
msg.addParam("number",num,false);
|
||||
msg.addParam("sip_uri",t->getURI());
|
||||
msg.addParam("sip_callid",t->getCallID());
|
||||
String tmp(message->getHeader("Expires"));
|
||||
if (tmp.null())
|
||||
tmp = hl->getParam("expires");
|
||||
int expires = tmp.toInteger(-1);
|
||||
if (expires < 0)
|
||||
expires = s_expires_def;
|
||||
if (expires > s_expires_max)
|
||||
expires = s_expires_max;
|
||||
tmp = expires;
|
||||
msg.setParam("expires",tmp);
|
||||
String user;
|
||||
|
@ -5450,14 +5459,6 @@ void YateSIPEndPoint::regRun(const SIPMessage* message, SIPTransaction* t)
|
|||
msg.setParam("ip_port",String(rport));
|
||||
msg.setParam("ip_transport",message->getParty()->getProtoName());
|
||||
|
||||
if (expires && (expires < s_expires_min)) {
|
||||
tmp = s_expires_min;
|
||||
SIPMessage* r = new SIPMessage(t->initialMessage(),423);
|
||||
r->addHeader("Min-Expires",tmp);
|
||||
t->setResponse(r);
|
||||
r->deref();
|
||||
return;
|
||||
}
|
||||
bool dereg = false;
|
||||
if (!expires) {
|
||||
msg = "user.unregister";
|
||||
|
|
Loading…
Reference in New Issue