}
 
+sub get_mac_address {
+  my $p = shift;
+
+## access radius exports acct tables to get mac
+  my @part_export = ();
+  @part_export = (
+    qsearch( 'part_export', { 'exporttype' => 'sqlradius' } ),
+    qsearch( 'part_export', { 'exporttype' => 'sqlradius_withdomain' } ),
+    qsearch( 'part_export', { 'exporttype' => 'broadband_sqlradius' } ),
+  );
+
+  my @sessions;
+  foreach my $part_export (@part_export) {
+    push @sessions, ( @{ $part_export->usage_sessions( {
+      'ip' => $p->{'ip'},
+    } ) } );
+  }
+
+  my $mac = $sessions[0]->{'callingstationid'};
+
+  return { 'mac_address' => $mac, };
+}
+
 sub login_info {
   my $p = shift;
 
 
   } elsif ( $p->{'domain'} eq 'ip_mac' ) {
 
-      my $svc_broadband = qsearchs( 'svc_broadband', { 'mac_addr' => $p->{'username'} } );
-      return { error => 'IP address not found' }
+      my $mac_address = $p->{'username'};
+      $mac_address =~ s/\://g;
+
+      my $svc_broadband = qsearchs( 'svc_broadband', { 'mac_addr' => $mac_address } );
+      return { error => 'MAC address not found '.$p->{'username'} }
         unless $svc_broadband;
       $svc_x = $svc_broadband;
 
 
   'quotation_add_pkg'         => 'MyAccount/quotation/quotation_add_pkg',
   'quotation_remove_pkg'      => 'MyAccount/quotation/quotation_remove_pkg',
   'quotation_order'           => 'MyAccount/quotation/quotation_order',
+  'get_mac_address'           => 'MyAccount/get_mac_address',
 
   'freesideinc_service'       => 'Freeside/freesideinc_service',
   };
 
     <TABLE BORDER=0 CELLSPACING=2 CELLPADDING=0>
       <TR>
         <TD>
-          Sorry we were unable to locate your account with ip <? echo $username; ?>  .
+          Sorry we were unable to locate your account with MAC address <? echo $username; ?>  .
         </TD>
       </TR>
     </TABLE>
 
 $freeside = new FreesideSelfService();
 
 $ip = $_SERVER['REMOTE_ADDR'];
-# need a routine here to get mac address from radius account table based on ip address.  Every else should be good to go.
-$mac_addr = '1234567890FF';
+
+$mac_addr = $freeside->get_mac_address( array('ip' => $ip, ) );
 
 $response = $freeside->login( array( 
-  'username' => $mac_addr, 
+  'username' => $mac_addr['mac_address'],
   'domain'   => 'ip_mac',
 ) );
 
-#error_log("[login] received response from freeside: $response");
-
 $error = $response['error'];
 
 if ( $error ) {