fix svc_phone provisioning with new location, RT#34069
[freeside.git] / FS / FS / svc_phone.pm
index 56104ba..460addc 100644 (file)
@@ -134,6 +134,15 @@ Class of Service for E911 service (per the NENA 2.1 standard).
 
 Type of Service for E911 service.
 
+=item circuit_svcnum
+
+The L<FS::svc_circuit> record for the physical circuit that transports this
+phone line.
+
+=item sip_server
+
+The hostname of the SIP server that this phone number is routed to.
+
 =back
 
 =head1 METHODS
@@ -185,6 +194,7 @@ sub table_info {
                          select_table => 'svc_domain',
                          select_key   => 'svcnum',
                          select_label => 'domain',
+                         select_allow_empty => 1,
                          disable_inventory => 1,
                        },
         'circuit_svcnum'   => { label             => 'Circuit',
@@ -251,6 +261,10 @@ sub table_info {
                                 disable_inventory => 1,
                                 multiple => 1,
                         },
+        'sip_server'  => {
+                                label => 'SIP Host',
+                                %dis2,
+                         },
     },
   };
 }
@@ -332,6 +346,7 @@ sub insert {
   #false laziness w/cust_pkg.pm... move this to location_Mixin?  that would
   #make it more of a base class than a mixin... :)
   if ( $options{'cust_location'} ) {
+    $options{'cust_location'}->custnum( $self->cust_svc->cust_pkg->custnum );
     my $error = $options{'cust_location'}->find_or_insert;
     if ( $error ) {
       $dbh->rollback if $oldAutoCommit;
@@ -548,6 +563,7 @@ sub check {
                                'native', 'portin-reject', 'portout-reject'])
     || $self->ut_enumn('portable', ['','Y'])
     || $self->ut_textn('lnp_reject_reason')
+    || $self->ut_domainn('sip_server')
   ;
   return $error if $error;