view INSTALL.FreeBSD @ 1492:fadf8947c0fb

Add 3GPP TS 29.172 V15.2.0 (2019-12) Add AVPs from 3GPP TS 29.172: - SLg-Location-Type, Enumerated, code 2500, section 7.4.2 - LCS-EPS-Client-Name, Grouped, code 2501, section 7.4.3 - LCS-Requestor-Name, Grouped, code 2502, section 7.4.4 - LCS-Priority, Unsigned32, code 2503, section 7.4.5 - LCS-QoS, Grouped, code 2504, section 7.4.6 - Horizontal-Accuracy, Unsigned32, code 2505, section 7.4.7 - Vertical-Accuracy, Unsigned32, code 2506, section 7.4.8 - Vertical-Requested, Enumerated, code 2507, section 7.4.9 - Velocity-Requested, Enumerated, code 2508, section 7.4.10 - Response-Time, Enumerated, code 2509, section 7.4.11 - Supported-GAD-Shapes, Unsigned32, code 2510, section 7.4.12 - LCS-Codeword, UTF8String, code 2511, section 7.4.13 - LCS-Privacy-Check, Enumerated, code 2512, section 7.4.14 - Accuracy-Fulfilment-Indicator, Enumerated, code 2513, section 7.4.15 - Age-Of-Location-Estimate, Unsigned32, code 2514, section 7.4.16 - Velocity-Estimate, OctetString, code 2515, section 7.4.17 - EUTRAN-Positioning-Data, OctetString, code 2516, section 7.4.18 - ECGI, OctetString, code 2517, section 7.4.19 - Location-Event, Enumerated, code 2518, section 7.4.20 - Pseudonym-Indicator, Enumerated, code 2519, section 7.4.21 - LCS-Service-Type-ID, Unsigned32, code 2520, section 7.4.22 - LCS-Privacy-Check-Non-Session, Grouped, code 2521, section 7.4.23 - LCS-Privacy-Check-Session, Grouped, code 2522, section 7.4.24 - LCS-QoS-Class, Enumerated, code 2523, section 7.4.27 - GERAN-Positioning-Info, Grouped, code 2524, section 7.4.29 - GERAN-Positioning-Data, OctetString, code 2525, section 7.4.30 - GERAN-GANSS-Positioning-Data, OctetString, code 2526, section 7.4.31 - UTRAN-Positioning-Info, Grouped, code 2527, section 7.4.32 - UTRAN-Positioning-Data, OctetString, code 2528, section 7.4.33 - UTRAN-GANSS-Positioning-Data, OctetString, code 2529, section 7.4.34 - LRR-Flags, Unsigned32, code 2530, section 7.4.35 - LCS-Reference-Number, OctetString, code 2531, section 7.4.37 - Deferred-Location-Type, Unsigned32, code 2532, section 7.4.36 - Area-Event-Info, Grouped, code 2533, section 7.4.38 - Area-Definition, Grouped, code 2534, section 7.4.39 - Area, Grouped, code 2535, section 7.4.40 - Area-Type, Unsigned32, code 2536, section 7.4.41 - Area-Identification, Grouped, code 2537, section 7.4.42 - Occurrence-Info, Enumerated, code 2538, section 7.4.43 - Interval-Time, Unsigned32, code 2539, section 7.4.44 - Periodic-LDR-Information, Grouped, code 2540, section 7.4.45 - Reporting-Amount, Unsigned32, code 2541, section 7.4.46 - Reporting-Interval, Unsigned32, code 2542, section 7.4.47 - Reporting-PLMN-List, Grouped, code 2543, section 7.4.48 - PLMN-ID-List, Grouped, code 2544, section 7.4.49 - PLR-Flags, Unsigned32, code 2545, section 7.4.52 - PLA-Flags, Unsigned32, code 2546, section 7.4.53 - Deferred-MT-LR-Data, Grouped, code 2547, section 7.4.54 - Termination-Cause, Unsigned32, code 2548, section 7.4.55 - LRA-Flags, Unsigned32, code 2549, section 7.4.56 - Periodic-Location-Support-Indicator, Enumerated, code 2550, section 7.4.50 - Prioritized-List-Indicator, Enumerated, code 2551, section 7.4.51 - ESMLC-Cell-Info, Grouped, code 2552, section 7.4.57 - Cell-Portion-ID, Unsigned32, code 2553, section 7.4.58 - 1xRTT-RCID, OctetString, code 2554, section 7.4.59 - Delayed-Location-Reporting-Data, Grouped, code 2555, section 7.4.60 - Civic-Address, UTF8String, code 2556, section 7.4.61 - Barometric-Pressure, Unsigned32, code 2557, section 7.4.62 - UTRAN-Additional-Positioning-Data, OctetString, code 2558, section 7.4.63 - Motion-Event-Info, Grouped, code 2559, section 7.4.64 - Linear-Distance, Unsigned32, code 2560, section 7.4.65 - Maximum-Interval, Unsigned32, code 2561, section 7.4.66 - Sampling-Interval, Unsigned32, code 2562, section 7.4.67 - Reporting-Duration, Unsigned32, code 2563, section 7.4.68 - Reporting-Location-Requirements, Unsigned32, code 2564, section 7.4.69 - Additional-Area, Grouped, code 2565, section 7.4.70
author Luke Mewburn <luke@mewburn.net>
date Mon, 30 Mar 2020 12:38:31 +1100
parents a0ab56aa089f
children 699c3fb0c57b
line wrap: on
line source

See INSTALL file for general instructions on building freeDiameter.

------------------
QUICK INSTRUCTIONS
------------------

On FreeBSD-8.0 at least the following ports packages were required (should be same on FreeBSD-7.x):
 cmake flex bison gnutls

Then the cmake command had to look like:
 cmake -DFLEX_EXECUTABLE:FILEPATH=/usr/local/bin/flex -DSCTP_USE_MAPPED_ADDRESSES:BOOL=ON ...


---------------------
COMPLETE INSTRUCTIONS
---------------------

1) If you don't have freeBSD yet:
   Install minimal system + ports using initial installer /usr/sbin/sysinstall


2) Install 'cmake'

 a) from sources:
    # cd /usr/ports/devel/cmake
    # make install
    
 b) or from package (don't forget to set your PACKAGEROOT appropriately. Ex: set PACKAGEROOT=ftp://ftp.jp.freebsd.org):
    # pkg_add -v -r cmake
	
 
3) Install 'mercurial' (optional)
  (replace 'cmake' by 'mercurial' in the previous command) 

4) Install 'flex' and 'bison', same way.

5) Install 'gnutls' and 'libidn', same way also.

6) Retrieve freeDiameter source code:
   # cd ~
   # /usr/local/bin/hg clone http://www.freediameter.net/hg/freeDiameter/
   
6b) Make a build directory
   # mkdir fD-build
   # cd fD-build
   
7) Run cmake for freeDiameter (add other flags as you see fit, see INSTALL for more details)
   # /usr/local/bin/cmake -DFLEX_EXECUTABLE:FILEPATH=/usr/local/bin/flex -DSCTP_USE_MAPPED_ADDRESSES:BOOL=ON ../freeDiameter

8) Compile, optionnaly test
   # make
   # make test

9) Install
   # make install
   
10) Run (the install path can be changed during cmake step):
   # /usr/local/bin/freeDiameterd --help


------------------------------
app_acct test ADDITIONAL STEPS
------------------------------
Here is additional steps in order to run the test for app_acct

1) Install the required packages
  # pkg_add -v -r postgresql84-client
  # pkg_add -v -r postgresql84-server

2) Prepare access to the database:
  # echo postgresql_enable=YES >> /etc/rc.conf
  # /usr/local/etc/rc.d/postgresql initdb
  # su - pgsql
  > /usr/local/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start
  > /usr/local/bin/createuser root
  Shall the new user be allowed to create databases? (y/n) y
  > logout
  # /usr/local/bin/createdb root
  # /usr/local/bin/psql root
  root=# CREATE TABLE incoming_test (
  root(# recorded_on timestamp with time zone NOT NULL,
  root(# "Accounting-Record-Type" integer,
  root(# "Session-Id" bytea,
  root(# "Accounting-Record-Number" integer,
  root(# "Route-Record1" bytea,
  root(# "Route-Record2" bytea,
  root(# "Route-Record3" bytea,
  root(# "Route-Record4" bytea );
  root=# \q

3) configure the sources
  # make edit_cache
   BUILD_APP_ACCT:BOOL=ON
   TEST_APP_ACCT:BOOL=ON
   TEST_APP_ACCT_CONNINFO:STRING="user=root dbname=root"
   
4) run the test
  # tests/testappacct -d
  or
  # make test
  
  
----------------------------------
Segmentation fault on program exit
----------------------------------

In case you encounter a segmentation fault on program termination like this:
  [...]
  freeDiameterd framework is terminated.
  Segmentation fault: 11 (core dumped)

with a backtrace like this:
  #0  0x0000000801a414a0 in ?? ()
  #1  0x0000000800f99274 in __cxa_finalize () from /lib/libc.so.7
  #2  0x0000000800f460b7 in exit () from /lib/libc.so.7
  
You may try to add the following compilation directive in cmake:
  -DSKIP_DLCLOSE:BOOL=ON

Note: this segmentation fault was experienced with:
 - FreeBSD 8.1
 - 64 bits architecture only.
 - Profiling mode only.


"Welcome to our mercurial repository"