|
|
|
|
@ -1214,36 +1214,36 @@ void SW_VscDialog::onInvite(const AmSipRequest &req)
|
|
|
|
|
if ((ret = regexec(&m_patterns->cfuOnPattern,
|
|
|
|
|
req.user.c_str(), 0, 0, 0)) == 0)
|
|
|
|
|
{
|
|
|
|
|
if (!number2uri(req, my_handler, uuid, subId, domain, domId, 4,
|
|
|
|
|
uri, username))
|
|
|
|
|
u_int64_t attId = getAttributeId(my_handler, "cfu");
|
|
|
|
|
if (!attId)
|
|
|
|
|
{
|
|
|
|
|
filename = failAnnouncement;
|
|
|
|
|
goto out;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
u_int64_t mapId = createCFMap(my_handler, subId, uri,
|
|
|
|
|
SW_VSC_DESTSET_CFU, "cfu");
|
|
|
|
|
if (!mapId)
|
|
|
|
|
if(!checkSubscriberProfile(my_handler, profId, attId))
|
|
|
|
|
{
|
|
|
|
|
filename = failAnnouncement;
|
|
|
|
|
goto out;
|
|
|
|
|
}
|
|
|
|
|
snprintf(map_str, sizeof(mapStr), "%llu",
|
|
|
|
|
(unsigned long long int)mapId);
|
|
|
|
|
mapStr = string(map_str);
|
|
|
|
|
|
|
|
|
|
u_int64_t attId = getAttributeId(my_handler, "cfu");
|
|
|
|
|
if (!attId)
|
|
|
|
|
if (!number2uri(req, my_handler, uuid, subId, domain, domId, 4,
|
|
|
|
|
uri, username))
|
|
|
|
|
{
|
|
|
|
|
filename = failAnnouncement;
|
|
|
|
|
goto out;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(!checkSubscriberProfile(my_handler, profId, attId))
|
|
|
|
|
u_int64_t mapId = createCFMap(my_handler, subId, uri,
|
|
|
|
|
SW_VSC_DESTSET_CFU, "cfu");
|
|
|
|
|
if (!mapId)
|
|
|
|
|
{
|
|
|
|
|
filename = failAnnouncement;
|
|
|
|
|
goto out;
|
|
|
|
|
}
|
|
|
|
|
snprintf(map_str, sizeof(mapStr), "%llu",
|
|
|
|
|
(unsigned long long int)mapId);
|
|
|
|
|
mapStr = string(map_str);
|
|
|
|
|
|
|
|
|
|
u_int64_t prefId = getPreference(my_handler, subId, attId,
|
|
|
|
|
&foundPref, &prefStr);
|
|
|
|
|
@ -1331,36 +1331,36 @@ void SW_VscDialog::onInvite(const AmSipRequest &req)
|
|
|
|
|
if ((ret = regexec(&m_patterns->cfbOnPattern,
|
|
|
|
|
req.user.c_str(), 0, 0, 0)) == 0)
|
|
|
|
|
{
|
|
|
|
|
if (!number2uri(req, my_handler, uuid, subId, domain, domId, 4,
|
|
|
|
|
uri, username))
|
|
|
|
|
u_int64_t attId = getAttributeId(my_handler, "cfb");
|
|
|
|
|
if (!attId)
|
|
|
|
|
{
|
|
|
|
|
filename = failAnnouncement;
|
|
|
|
|
goto out;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
u_int64_t mapId = createCFMap(my_handler, subId, uri,
|
|
|
|
|
SW_VSC_DESTSET_CFB, "cfb");
|
|
|
|
|
if (!mapId)
|
|
|
|
|
if(!checkSubscriberProfile(my_handler, profId, attId))
|
|
|
|
|
{
|
|
|
|
|
filename = failAnnouncement;
|
|
|
|
|
goto out;
|
|
|
|
|
}
|
|
|
|
|
snprintf(map_str, sizeof(mapStr), "%llu",
|
|
|
|
|
(unsigned long long int)mapId);
|
|
|
|
|
mapStr = string(map_str);
|
|
|
|
|
|
|
|
|
|
u_int64_t attId = getAttributeId(my_handler, "cfb");
|
|
|
|
|
if (!attId)
|
|
|
|
|
if (!number2uri(req, my_handler, uuid, subId, domain, domId, 4,
|
|
|
|
|
uri, username))
|
|
|
|
|
{
|
|
|
|
|
filename = failAnnouncement;
|
|
|
|
|
goto out;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(!checkSubscriberProfile(my_handler, profId, attId))
|
|
|
|
|
u_int64_t mapId = createCFMap(my_handler, subId, uri,
|
|
|
|
|
SW_VSC_DESTSET_CFB, "cfb");
|
|
|
|
|
if (!mapId)
|
|
|
|
|
{
|
|
|
|
|
filename = failAnnouncement;
|
|
|
|
|
goto out;
|
|
|
|
|
}
|
|
|
|
|
snprintf(map_str, sizeof(mapStr), "%llu",
|
|
|
|
|
(unsigned long long int)mapId);
|
|
|
|
|
mapStr = string(map_str);
|
|
|
|
|
|
|
|
|
|
u_int64_t prefId = getPreference(my_handler, subId, attId,
|
|
|
|
|
&foundPref, &prefStr);
|
|
|
|
|
@ -1448,6 +1448,19 @@ void SW_VscDialog::onInvite(const AmSipRequest &req)
|
|
|
|
|
if ((ret = regexec(&m_patterns->cftOnPattern,
|
|
|
|
|
req.user.c_str(), 0, 0, 0)) == 0)
|
|
|
|
|
{
|
|
|
|
|
u_int64_t attId = getAttributeId(my_handler, "cft");
|
|
|
|
|
if (!attId)
|
|
|
|
|
{
|
|
|
|
|
filename = failAnnouncement;
|
|
|
|
|
goto out;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(!checkSubscriberProfile(my_handler, profId, attId))
|
|
|
|
|
{
|
|
|
|
|
filename = failAnnouncement;
|
|
|
|
|
goto out;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
string::size_type timend = req.user.find('*', 4);
|
|
|
|
|
string tim = req.user.substr(4, timend - 4);
|
|
|
|
|
INFO("Extracted ringtimeout of '%s' from '%s' for uuid '%s'",
|
|
|
|
|
@ -1471,19 +1484,6 @@ void SW_VscDialog::onInvite(const AmSipRequest &req)
|
|
|
|
|
(unsigned long long int)mapId);
|
|
|
|
|
mapStr = string(map_str);
|
|
|
|
|
|
|
|
|
|
u_int64_t attId = getAttributeId(my_handler, "cft");
|
|
|
|
|
if (!attId)
|
|
|
|
|
{
|
|
|
|
|
filename = failAnnouncement;
|
|
|
|
|
goto out;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(!checkSubscriberProfile(my_handler, profId, attId))
|
|
|
|
|
{
|
|
|
|
|
filename = failAnnouncement;
|
|
|
|
|
goto out;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
u_int64_t prefId = getPreference(my_handler, subId, attId,
|
|
|
|
|
&foundPref, &prefStr);
|
|
|
|
|
if (!prefId)
|
|
|
|
|
@ -1628,36 +1628,36 @@ void SW_VscDialog::onInvite(const AmSipRequest &req)
|
|
|
|
|
if ((ret = regexec(&m_patterns->cfnaOnPattern,
|
|
|
|
|
req.user.c_str(), 0, 0, 0)) == 0)
|
|
|
|
|
{
|
|
|
|
|
if (!number2uri(req, my_handler, uuid, subId, domain, domId, 4,
|
|
|
|
|
uri, username))
|
|
|
|
|
u_int64_t attId = getAttributeId(my_handler, "cfna");
|
|
|
|
|
if (!attId)
|
|
|
|
|
{
|
|
|
|
|
filename = failAnnouncement;
|
|
|
|
|
goto out;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
u_int64_t mapId = createCFMap(my_handler, subId, uri,
|
|
|
|
|
SW_VSC_DESTSET_CFNA, "cfna");
|
|
|
|
|
if (!mapId)
|
|
|
|
|
if(!checkSubscriberProfile(my_handler, profId, attId))
|
|
|
|
|
{
|
|
|
|
|
filename = failAnnouncement;
|
|
|
|
|
goto out;
|
|
|
|
|
}
|
|
|
|
|
snprintf(map_str, sizeof(mapStr), "%llu",
|
|
|
|
|
(unsigned long long int)mapId);
|
|
|
|
|
mapStr = string(map_str);
|
|
|
|
|
|
|
|
|
|
u_int64_t attId = getAttributeId(my_handler, "cfna");
|
|
|
|
|
if (!attId)
|
|
|
|
|
if (!number2uri(req, my_handler, uuid, subId, domain, domId, 4,
|
|
|
|
|
uri, username))
|
|
|
|
|
{
|
|
|
|
|
filename = failAnnouncement;
|
|
|
|
|
goto out;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(!checkSubscriberProfile(my_handler, profId, attId))
|
|
|
|
|
u_int64_t mapId = createCFMap(my_handler, subId, uri,
|
|
|
|
|
SW_VSC_DESTSET_CFNA, "cfna");
|
|
|
|
|
if (!mapId)
|
|
|
|
|
{
|
|
|
|
|
filename = failAnnouncement;
|
|
|
|
|
goto out;
|
|
|
|
|
}
|
|
|
|
|
snprintf(map_str, sizeof(mapStr), "%llu",
|
|
|
|
|
(unsigned long long int)mapId);
|
|
|
|
|
mapStr = string(map_str);
|
|
|
|
|
|
|
|
|
|
u_int64_t prefId = getPreference(my_handler, subId, attId,
|
|
|
|
|
&foundPref, &prefStr);
|
|
|
|
|
|