Skip to content

Commit 4aa025a

Browse files
author
Fabricio Santolin da Silva
committed
MT#51104 Send language information on subscriber to Asterisk
Change-Id: Icfb6b5eb69ea1744289402de568deac84e67aaba
1 parent 846cb44 commit 4aa025a

File tree

1 file changed

+19
-5
lines changed

1 file changed

+19
-5
lines changed

ngcp-reminder

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,21 +26,34 @@ my $dsn = "DBI:mysql:database=$cfg{database};host=$cfg{dbhost};port=0";
2626
my $dbh = DBI->connect($dsn, @{cfg}{qw(dbuser dbpassword)})
2727
or die "Cannot connect to db: ".$DBI::errstr;
2828
my $sth = $dbh->prepare(<<SQL);
29-
SELECT s.username, d.domain, r.recur, r.id
29+
SELECT s.username, d.domain, r.recur, r.id, vup.value as lang
3030
FROM provisioning.voip_reminder r
3131
LEFT JOIN provisioning.voip_subscribers s ON r.subscriber_id = s.id
3232
LEFT JOIN provisioning.voip_domains d ON s.domain_id = d.id
3333
LEFT JOIN billing.v_subscriber_timezone tz ON tz.uuid = s.uuid
34-
WHERE
35-
r.active = 1
36-
AND r.time = time_format(CONVERT_TZ(now(), "localtime", tz.name), '%H:%i:00');
34+
LEFT JOIN provisioning.voip_usr_preferences vup ON r.subscriber_id=vup.subscriber_id
35+
LEFT JOIN provisioning.voip_preferences vp ON vp.id=vup.attribute_id
36+
WHERE r.active = 1
37+
AND vp.attribute = "language"
38+
AND r.time = time_format(CONVERT_TZ(now(), "localtime", tz.name), '%H:%i:00')
39+
UNION
40+
SELECT s.username, d.domain, r.recur, r.id, vdp.value as lang
41+
FROM provisioning.voip_reminder r
42+
LEFT JOIN provisioning.voip_subscribers s ON r.subscriber_id = s.id
43+
LEFT JOIN provisioning.voip_domains d ON s.domain_id = d.id
44+
LEFT JOIN billing.v_subscriber_timezone tz ON tz.uuid = s.uuid
45+
LEFT JOIN provisioning.voip_dom_preferences vdp ON vdp.domain_id=d.id
46+
LEFT JOIN provisioning.voip_preferences vp ON vp.id=vdp.attribute_id
47+
WHERE r.active = 1
48+
AND vp.attribute = "language"
49+
AND r.time = time_format(CONVERT_TZ(now(), "localtime", tz.name), '%H:%i:00') LIMIT 1;
3750
SQL
3851
my $sth_d = $dbh->prepare("UPDATE voip_reminder SET active=0 WHERE id=?");
3952

4053
$sth->execute() or die "Cannot execute: ".$DBI::errstr;
4154

4255
while (my $ref = $sth->fetchrow_hashref()) {
43-
print "$ref->{'username'}\@$ref->{'domain'}, recur=$ref->{'recur'}\n";
56+
print "$ref->{'username'}\@$ref->{'domain'}, recur=$ref->{'recur'}, language=$ref->{'lang'}\n";
4457

4558
if ($ref->{'recur'} eq "weekdays") {
4659
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = gmtime(time);
@@ -62,6 +75,7 @@ while (my $ref = $sth->fetchrow_hashref()) {
6275
print $tmp "Extension: s\n";
6376
print $tmp "Context: $cfg{context}\n";
6477
print $tmp "Priority: 1\n";
78+
print $tmp "Setvar: LANG=$ref->{'lang'}\n";
6579
close $tmp;
6680

6781
my ($login,$pass,$uid,$gid) = getpwnam($owner)

0 commit comments

Comments
 (0)