'svcnum', 'int', '', '', '', '',
'countrycode', 'varchar', '', 3, '', '',
'phonenum', 'varchar', '', 15, '', '', #12 ?
+ 'sim_imsi', 'varchar', 'NULL', 15, '', '',
'pin', 'varchar', 'NULL', $char_d, '', '',
'sip_password', 'varchar', 'NULL', $char_d, '', '',
'phone_name', 'varchar', 'NULL', $char_d, '', '',
@pw_set = ( 'a'..'k', 'm','n', 'p-z', 'A'..'N', 'P'..'Z' , '2'..'9' );
#ask FS::UID to run this stuff for us later
-$FS::UID::callback{'FS::svc_acct'} = sub {
+FS::UID->install_callback( sub {
$conf = new FS::Conf;
$phone_name_max = $conf->config('svc_phone-phone_name-max_length');
-};
+}
+);
=head1 NAME
=item phonenum
+=item sim_imsi
+
+SIM IMSI (http://en.wikipedia.org/wiki/International_mobile_subscriber_identity)
+
=item sip_password
=item pin
disable_select => 1,
},
'phonenum' => 'Phone number',
+ 'sim_imsi' => 'IMSI', #http://en.wikipedia.org/wiki/International_mobile_subscriber_identity
'pin' => { label => 'Voicemail PIN', #'Personal Identification Number',
type => 'text',
disable_inventory => 1,
$self->ut_numbern('svcnum')
|| $self->ut_numbern('countrycode')
|| $self->$phonenum_check_method('phonenum')
+ || $self->ut_numbern('sim_imsi')
|| $self->ut_anything('sip_password')
|| $self->ut_numbern('pin')
|| $self->ut_textn('phone_name')
;
return $error if $error;
+ return 'Illegal IMSI (not 14-15 digits)' #shorter?
+ if length($self->sim_imsi)
+ && ( length($self->sim_imsi) < 14 || length($self->sim_imsi) > 15 );
+
# LNP data validation
return 'Cannot set LNP fields: no LNP in progress'
if ( ($self->lnp_desired_due_date || $self->lnp_due_date
type => 'select-did',
label => 'Phone number',
multiple => $bulk,
+ },
+ { field => 'sim_imsi',
+ type => 'text',
+ size => 15,
+ maxlength => 15,
};
push @$fields, { field => 'domsvc',
);
} keys %$fields;
-my @fields = qw( countrycode phonenum );
+my @fields = qw( countrycode phonenum sim_imsi );
push @fields, 'domain' if $conf->exists('svc_phone-domain');
push @fields, qw( pbx_title sip_password pin phone_name forwarddst email );