Don't force username as called number in registration.

As protocol extension allow to register specific called number and context.


git-svn-id: http://yate.null.ro/svn/yate/trunk@1859 acf43c95-373e-0410-b603-e72c3f656dc1
This commit is contained in:
paulc 2008-03-28 16:06:21 +00:00
parent eff367371e
commit 7a7d60364d
2 changed files with 10 additions and 3 deletions

View File

@ -712,9 +712,11 @@ void IAXTransaction::init(IAXIEList& ieList)
m_formatIn = m_format;
break;
case RegReq:
ieList.getString(IAXInfoElement::CALLED_NUMBER,m_calledNo);
ieList.getString(IAXInfoElement::CALLED_CONTEXT,m_calledContext);
ieList.getNumeric(IAXInfoElement::REFRESH,m_expire);
case RegRel:
ieList.getString(IAXInfoElement::USERNAME,m_username);
ieList.getNumeric(IAXInfoElement::REFRESH,m_expire);
break;
case Poke:
default: ;

View File

@ -1067,8 +1067,13 @@ bool YIAXEngine::userreg(IAXTransaction* tr, bool regrel)
String data = "iax/iax2:";
data << tr->username() << "@";
data << tr->remoteAddr().host() << ":" << tr->remoteAddr().port();
// TODO: support number != username
data << "/" << tr->username();
const char* called = tr->calledNo();
const char* context = tr->calledContext();
if (called || context) {
data << "/" << called;
if (context)
data << "@" << context;
}
msg.addParam("data",data);
msg.addParam("expires",String((unsigned int)tr->expire()));
}