[Asterisk-bsd] Digium g.729 codec registration on FreeBSD 6.1

Guntis Bumburs guntis at rixtel.com
Tue Sep 26 10:25:06 MST 2006


Hello,

    I have bought 30 & 10 pcs g.729 codec from Digium. 30 went to my SS7 
box (Linux) with no problem.Also I have a FreeBSD machine as front 
asterisk server and there i got the problem ....
 
FreeBSD machine is a HP DL 380 G4 Dual Xeon server running amd64 kernel

when i tried to run registration utility it complained about missing 
32bit libs (could be, because i have amd64)

1. had to rebuild the world using WITH_LIB32 in make.conf, to get the 
/usr/lib32 needed for registration utility, also done some symlinks on 
missing libs ... (ln -s libc.so.6 libc.so.5, e.t.c.)
add this to rc.conf
ldconfig32_paths="/usr/lib32


now the registration utility works but it fails on Host-ID

the output:
_______________________
Digium Product Registration
Copyright (C) 2004, Digium, Inc.

Please enter Key-ID: G729-xxxxxxxx
Analyzing key 'G729-xxxxxxxx'

Connecting to Digium License Server (216.207.245.3:5646)...OK
Awaiting Response...OK
Requesting status for 'G729-xxxxxxxx'...OK

  Key-ID:  G729-xxxxxxxx
  Product:  G.729 Codec
  Channels:  10
  Host-ID:  <Unregistered>

Unable to determine hostid.  You must have at least one ethernet card
_____________________

good, the connection to digium is working and key is accepted.
i have 2 nics :)
in the registration utility readme file (for Linux) is said that first 
nic always must be eth0 for registration to work

2. changed the name of first network interface
add this to rc.conf
ifconfig_bge0_name="eth0"

still the same problem :(

3.kdump of ktrace ./register
gave me:
___________________________________
.............
  3918 register RET   read 272/0x110
  3918 register CALL  __sysctl(0xffffd8d0,0x6,0,0xffffd8cc,0,0)
  3918 register RET   __sysctl 0
  3918 register CALL  __sysctl(0xffffd8d0,0x6,0x80c7000,0xffffd8cc,0,0)
  3918 register RET   __sysctl 0
  3918 register CALL  write(0x2,0xffffd3f0,0x46)
  3918 register GIO   fd 2 wrote 70 bytes
       "Unable to determine hostid.  You must have at least one ethernet 
card
       "
  3918 register RET   write 70/0x46
  3918 register CALL  exit(0x1)
____________________________________

Here i see that registration utility is using the sysctl to obtain my 
MAC address  (Host-ID). But sysctl returns '0'

MIB
for Linux is usualy kernel.*
for FreeBSD it's kern.*

i.e.
 > sysctl kern.hostname
kern.hostname: gw.example.com

 >sysctl kern.hostid
kern.hostid: 0      (thats default for all my FreeBSD boxes)

I have found some information in forums (i dont know if it's true) that 
kern.hostid varible could be set to MAC address.
kern.hostid type is integer and it's changeable like kern.hostname and 
few others ...


3.  i converted my MAC from HEX to DEC and put this value to kern.hostid 
(sysctl -w kern.hostid=123456...)

still the same problem :(

I have no more ideas left. I could only guess witch kern.variable the 
registration utility is checking.
For me it's beyond my scope of knowledge and DEAD-END.

Many thanks for Any information or ideas how to solve this problem.

info:
______________________________
registration utility is taken from: 
ftp://ftp.digium.com/pub/asterisk/g729/unsupported/register_utility/freebsd-5.2.1/
Server Info:
hw.machine: amd64
hw.model: Intel(R) Xeon(TM) CPU 3.00GHz
hw.ncpu: 4
hw.machine_arch: amd64
kern.ostype: FreeBSD
kern.osrelease: 6.1-RELEASE-p7
kern.osrevision: 199506
kern.hostid: 0
kern.posix1version: 200112
kern.osreldate: 601000
______________________________
Best Regards,
Guntis Bumburs



More information about the Asterisk-BSD mailing list