MT#51104 Send language information on subscriber to Asterisk

Change-Id: Icfb6b5eb69ea1744289402de568deac84e67aaba
mr11.2.1
Fabricio Santolin da Silva 4 years ago
parent 846cb444ff
commit 4aa025a569

@ -26,21 +26,34 @@ my $dsn = "DBI:mysql:database=$cfg{database};host=$cfg{dbhost};port=0";
my $dbh = DBI->connect($dsn, @{cfg}{qw(dbuser dbpassword)})
or die "Cannot connect to db: ".$DBI::errstr;
my $sth = $dbh->prepare(<<SQL);
SELECT s.username, d.domain, r.recur, r.id
SELECT s.username, d.domain, r.recur, r.id, vup.value as lang
FROM provisioning.voip_reminder r
LEFT JOIN provisioning.voip_subscribers s ON r.subscriber_id = s.id
LEFT JOIN provisioning.voip_domains d ON s.domain_id = d.id
LEFT JOIN billing.v_subscriber_timezone tz ON tz.uuid = s.uuid
WHERE
r.active = 1
AND r.time = time_format(CONVERT_TZ(now(), "localtime", tz.name), '%H:%i:00');
LEFT JOIN provisioning.voip_usr_preferences vup ON r.subscriber_id=vup.subscriber_id
LEFT JOIN provisioning.voip_preferences vp ON vp.id=vup.attribute_id
WHERE r.active = 1
AND vp.attribute = "language"
AND r.time = time_format(CONVERT_TZ(now(), "localtime", tz.name), '%H:%i:00')
UNION
SELECT s.username, d.domain, r.recur, r.id, vdp.value as lang
FROM provisioning.voip_reminder r
LEFT JOIN provisioning.voip_subscribers s ON r.subscriber_id = s.id
LEFT JOIN provisioning.voip_domains d ON s.domain_id = d.id
LEFT JOIN billing.v_subscriber_timezone tz ON tz.uuid = s.uuid
LEFT JOIN provisioning.voip_dom_preferences vdp ON vdp.domain_id=d.id
LEFT JOIN provisioning.voip_preferences vp ON vp.id=vdp.attribute_id
WHERE r.active = 1
AND vp.attribute = "language"
AND r.time = time_format(CONVERT_TZ(now(), "localtime", tz.name), '%H:%i:00') LIMIT 1;
SQL
my $sth_d = $dbh->prepare("UPDATE voip_reminder SET active=0 WHERE id=?");
$sth->execute() or die "Cannot execute: ".$DBI::errstr;
while (my $ref = $sth->fetchrow_hashref()) {
print "$ref->{'username'}\@$ref->{'domain'}, recur=$ref->{'recur'}\n";
print "$ref->{'username'}\@$ref->{'domain'}, recur=$ref->{'recur'}, language=$ref->{'lang'}\n";
if ($ref->{'recur'} eq "weekdays") {
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = gmtime(time);
@ -62,6 +75,7 @@ while (my $ref = $sth->fetchrow_hashref()) {
print $tmp "Extension: s\n";
print $tmp "Context: $cfg{context}\n";
print $tmp "Priority: 1\n";
print $tmp "Setvar: LANG=$ref->{'lang'}\n";
close $tmp;
my ($login,$pass,$uid,$gid) = getpwnam($owner)

Loading…
Cancel
Save