1 <% encode_json({ error => $error, phonenums => \@phonenums}) %>\
4 my( $exchangestring, $svcpart ) = $cgi->param('arg');
6 my $part_svc = qsearchs('part_svc', { 'svcpart'=>$svcpart } );
7 die "unknown svcpart $svcpart" unless $part_svc;
12 if ( $exchangestring ) {
14 my @exports = $part_svc->part_export_did;
15 if ( scalar(@exports) > 1 ) {
16 die "more than one DID-providing export attached to svcpart $svcpart";
17 } elsif ( ! @exports ) {
18 die "no DID providing export attached to svcpart $svcpart";
20 my $export = $exports[0];
23 if ( $exchangestring eq 'tollfree' ) {
24 $opts{'tollfree'} = 1;
25 } elsif ( $exchangestring =~ /^_REGION (.*)$/ ) {
27 #} elsif ( $exchangestring =~ /^([\w\s\:\,\(\)\-]+), ([A-Z][A-Z])$/ ) {
28 } elsif ( $exchangestring =~ /^(.+), ([A-Z][A-Z])$/ ) {
29 $opts{'ratecenter'} = $1;
32 $exchangestring =~ /\((\d{3})-(\d{3})-XXXX\)\s*$/i
33 or die "unparseable exchange: $exchangestring";
34 my( $areacode, $exchange ) = ( $1, $2 );
35 $opts{'areacode'} = $areacode;
36 $opts{'exchange'} = $exchange;
41 my $something = eval { $export->get_dids(%opts) };
44 @phonenums = @{ $something } if $something;