[Spce-user] fast way to import a few hundred peering rules

Matthew Ogden matthew at tenacit.net
Mon Nov 12 18:12:09 EST 2012


Hi,



I ended up using SOAP as that was also something more up my alley than Perl.



I only had under a thousand, so it was’t impractical via SOAP.



Regards



*From:* spce-user-bounces at lists.sipwise.com [mailto:
spce-user-bounces at lists.sipwise.com] *On Behalf Of *Skyler
*Sent:* 13 November 2012 01:08 AM
*To:* Andreas Granig
*Cc:* spce-user at lists.sipwise.com
*Subject:* Re: [Spce-user] fast way to import a few hundred peering rules



Hi Matthew,



 Did this example help you by chance? I am looking to import 300k or so of
peering rules but Perl is not my strength. I'm thinking if this example
from Andreas is used with loop reading from a CSV it could be very useful
as a tool within SPCE.



 Would you mind sharing your final solution?



Skyler

On Mon, Apr 16, 2012 at 2:35 PM, Andreas Granig <agranig at sipwise.com> wrote:

Ok, actually tried to run it in Perl, here's the syntactically correct
version


#!/usr/bin/perl -w
use strict;
use Sipwise::Provisioning::Voip;
my $prov = Sipwise::Provisioning::Voip->new();
my $params = {

        group_id => 'your peering group id here',

        data => {
                caller_prefix => 'your caller pattern',
                callee_prefix => 'your callee prefix',
                description   => 'your rule description',
        },
};
eval {
        my $res = $prov->handle_request('create_peer_rule', {
                authentication => {
                        type=>'admin',
                        username=>'your admin panel user',
                        password=>'your admin panel pass',
                },
                parameters => $params
        });
};
if($@) {
        if(ref $@ eq 'SOAP::Fault') {
                die "ossbss call failed: ". $@->faultstring;
        } else {
                die "ossbss call failed: $@";
        }
}

Andreas


On 04/16/2012 11:31 PM, Andreas Granig wrote:
> Hi Mattew,
>
> On 04/15/2012 04:50 PM, Matthew Ogden wrote:
>> Where can one find the peering rules config files if you want to import
>> a large number of peering rules into them?
>
> There is no such thing as a config file, the data is stored in MySQL.
> However the intended way is to use either the SOAP interface for mass
> provisioning, or (even faster, but only works directly on the system),
> use the ossbss libs in a perl script, like this (just out of my head,
> really not tested):
>
> #!/usr/bin/perl -w
> use strict;
> use Sipwise::Provisioning::Voip;
> my $prov = Sipwise::Provisioning::Voip->new();
> my $params = {
>       group_id => your peering group id here,
>       data => {
>               caller_prefix => 'your caller pattern',
>               callee_prefix => 'your callee prefix',
>               description   => 'your rule description',
>       },
> };
> eval {
>       my $res = $prov->handle_request('create_peer_rule', {
>               authentication => {
>                       type='admin',
>                       username='your admin panel user',
>                       password='your admin panel pass',
>               },
>               parameters => $params
>       });
> };
> if($@) {
>       if(ref $@ eq 'SOAP::Fault') {
>               die "ossbss call failed: ". $@->faultstring;
>       } else {
>               die "ossbss call failed: $@";
>       }
> }
>
> Adapt (and fix) as needed to work in a loop for all your rules.
>
> Andreas
>
>
>
>

> _______________________________________________
> Spce-user mailing list
> Spce-user at lists.sipwise.com
> http://lists.sipwise.com/listinfo/spce-user


_______________________________________________
Spce-user mailing list
Spce-user at lists.sipwise.com
http://lists.sipwise.com/listinfo/spce-user
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sipwise.com/mailman/private/spce-user_lists.sipwise.com/attachments/20121113/e29f70d6/attachment.html>


More information about the Spce-user mailing list