diff options
author | levinse <levinse> | 2011-01-18 02:19:39 +0000 |
---|---|---|
committer | levinse <levinse> | 2011-01-18 02:19:39 +0000 |
commit | 12585f80aac73d6c5f2ee792f904affdb2cb6829 (patch) | |
tree | 2e76066a7a159dad2805fe84cbd7c0f58b14fb68 /FS | |
parent | b87e0be86003d12da8d8436583d23e9f4d783bb9 (diff) |
OpenSIPS provisioning improvements, RT10993
Diffstat (limited to 'FS')
-rw-r--r-- | FS/FS/Conf.pm | 27 | ||||
-rw-r--r-- | FS/FS/part_export/phone_sqlopensips.pm | 21 |
2 files changed, 44 insertions, 4 deletions
diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm index c049d41f9..0cd112c86 100644 --- a/FS/FS/Conf.pm +++ b/FS/FS/Conf.pm @@ -4182,6 +4182,33 @@ and customer address. Include units.', 'description' => 'Enable DID activity summary for past 30 days on invoices, showing # DIDs activated/deactivated/ported-in/ported-out and total minutes usage', 'type' => 'checkbox', }, + + { + 'key' => 'opensips_gwlist', + 'section' => 'opensips', + 'description' => 'For svc_phone OpenSIPS dr_rules export, gwlist column value, per-agent', + 'type' => 'text', + 'per_agent' => 1, + 'agentonly' => 1, + }, + + { + 'key' => 'opensips_description', + 'section' => 'opensips', + 'description' => 'For svc_phone OpenSIPS dr_rules export, description column value, per-agent', + 'type' => 'text', + 'per_agent' => 1, + 'agentonly' => 1, + }, + + { + 'key' => 'opensips_route', + 'section' => 'opensips', + 'description' => 'For svc_phone OpenSIPS dr_rules export, routeid column value, per-agent', + 'type' => 'text', + 'per_agent' => 1, + 'agentonly' => 1, + }, { key => "apacheroot", section => "deprecated", description => "<b>DEPRECATED</b>", type => "text" }, { key => "apachemachine", section => "deprecated", description => "<b>DEPRECATED</b>", type => "text" }, diff --git a/FS/FS/part_export/phone_sqlopensips.pm b/FS/FS/part_export/phone_sqlopensips.pm index cb644a0a1..e91713fe4 100644 --- a/FS/FS/part_export/phone_sqlopensips.pm +++ b/FS/FS/part_export/phone_sqlopensips.pm @@ -29,14 +29,23 @@ sub rebless { shift; } sub _export_insert { my($self, $svc_x) = (shift, shift); + + my $conf = new FS::Conf; + my $agentnum = $svc_x->cust_svc->cust_pkg->cust_main->agentnum || 0; + my $gwlist = $conf->config('opensips_gwlist',$agentnum) + || $svc_x->phone_name; + my $description = $conf->config('opensips_description',$agentnum) + || $svc_x->gwlist; + my $route = $conf->config('opensips_route',$agentnum) || $svc_x->route; + my $dbh = $self->opensips_connect; my $sth = $dbh->prepare("insert into dr_rules ". "( groupid, prefix, timerec, routeid, gwlist, description ) ". " values ( ?, ?, ?, ?, ?, ? )") or die $dbh->errstr; - $sth->execute('0',$svc_x->phonenum,'',$svc_x->route,$svc_x->gwlist, - $svc_x->phone_name) or die $sth->errstr; + $sth->execute('0',$svc_x->phonenum,'',$route,$gwlist, + $description) or die $sth->errstr; $dbh->disconnect; - $self->dr_reload; + $self->dr_reload; # XXX: if this fails, do we delete what we just inserted? } sub opensips_connect { @@ -46,6 +55,10 @@ sub opensips_connect { } sub _export_replace { + # disabled the below for now as we went with a agent-virtualized config for the params +return ''; + + my( $self, $new, $old ) = (shift, shift, shift); my @update = (); my @paramvalues = (); @@ -95,7 +108,7 @@ sub _export_delete { or die $dbh->errstr; $sth->execute($svc_x->phonenum) or die $sth->errstr; $dbh->disconnect; - $self->dr_reload; + $self->dr_reload; # XXX: if this fails, do we re-insert what we just deleted? } sub dr_reload { |