'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" },
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 {
}
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 = ();
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 {
my @deleteable = qw( invoice_latexreturnaddress invoice_htmlreturnaddress );
my %deleteable = map { $_ => 1 } @deleteable;
-my @sections = qw(required billing invoicing notification UI self-service username password session shell BIND );
+my @sections = qw(required billing invoicing notification UI self-service username password session shell BIND opensips );
push @sections, '', 'deprecated';
my %section_items = ();