[freeside-commits] branch master updated. 21c3ee38fc44a1ff55f1dc1755ab13ffde82de16

Mark Wells mark at 420.am
Sun Feb 24 20:42:21 PST 2013


The branch, master has been updated
       via  21c3ee38fc44a1ff55f1dc1755ab13ffde82de16 (commit)
      from  c3b8e954dbf5ddd04930809edfb77fa106fccaee (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 21c3ee38fc44a1ff55f1dc1755ab13ffde82de16
Author: Mark Wells <mark at freeside.biz>
Date:   Sun Feb 24 20:42:03 2013 -0800

    protocol fixes, #20836

diff --git a/FS/FS/part_export/huawei_hlr.pm b/FS/FS/part_export/huawei_hlr.pm
index fb3b679..5a6a983 100644
--- a/FS/FS/part_export/huawei_hlr.pm
+++ b/FS/FS/part_export/huawei_hlr.pm
@@ -18,6 +18,7 @@ tie my %options, 'Tie::IxHash',
   'pwd'       => { label=>'Operator password' },
   'tplid'     => { label=>'Template number' },
   'hlrsn'     => { label=>'HLR serial number' },
+  'timeout'   => { label=>'Timeout (seconds)', default => 120 },
   'debug'     => { label=>'Enable debugging', type=>'checkbox' },
 ;
 
@@ -36,13 +37,13 @@ sub _export_insert {
   my( $self, $svc_phone ) = (shift, shift);
   # svc_phone::check should ensure phonenum and sim_imsi are numeric
   my @command = (
-    'ADD TPLSUB',
     IMSI   => '"'.$svc_phone->sim_imsi.'"',
     ISDN   => '"'.$svc_phone->phonenum.'"',
     TPLID  => $self->option('tplid'),
   );
   unshift @command, 'HLRSN', $self->option('hlrsn')
     if $self->option('hlrsn');
+  unshift @command, 'ADD TPLSUB';
   my $err_or_queue = $self->queue_command($svc_phone->svcnum, @command);
   ref($err_or_queue) ? '' : $err_or_queue;
 }
@@ -107,7 +108,7 @@ sub _export_delete {
   my( $self, $svc_phone ) = (shift, shift);
   my @command = (
     'RMV SUB',
-    IMSI    => '"'.$svc_phone->sim_imsi.'"',
+    #IMSI    => '"'.$svc_phone->sim_imsi.'"',
     ISDN    => '"'.$svc_phone->phonenum.'"',
   );
   my $err_or_queue = $self->queue_command($svc_phone->svcnum, @command);
@@ -179,15 +180,16 @@ sub command {
     $string .= shift(@param) . '=' . shift(@param);
     $string .= ',' if @param;
   }
-  $string .= "\n";
+  $string .= "\n;";
   my @result;
   eval { # timeout
     local $SIG{ALRM} = sub { die "timeout\n" };
-    alarm ($self->option('timeout') || 30);
+    alarm ($self->option('timeout') || 120);
     warn "Sending to server:\n$string\n\n" if $DEBUG;
     $socket->print($string);
     warn "Received:\n";
     my $line;
+    local $/ = "\r\n";
     do {
       $line = $socket->getline();
       warn $line if $DEBUG;
@@ -203,11 +205,10 @@ sub command {
     return { error => $@ };
   } else {
     #+++    HLR9820        <date> <time>\n
-    # skip empty lines
     my $header = shift(@result);
-    return { error => 'malformed response: '.$header }
-      unless $header =~ /^\+\+\+/;
-    $return{header} = $header;
+    $header =~ /(\+\+\+.*)/
+      or return { error => 'malformed response: '.$header };
+    $return{header} = $1;
     #SMU    #<serial number>\n
     $return{smu} = shift(@result);
     #%%<command string>%%\n 

-----------------------------------------------------------------------

Summary of changes:
 FS/FS/part_export/huawei_hlr.pm |   17 +++++++++--------
 1 files changed, 9 insertions(+), 8 deletions(-)




More information about the freeside-commits mailing list