SMG SS7 Asterisk Install

    1. Install Dahdi (optional)
    2. Install LibPRI (optional)
    3. Install Asterisk
    4. Downloading SMG-SS7
    5. Downloading the ss7boxd binary
    6. Creating the Configuration files
    7. Installing SMG-SS7 Stage 1
    8. Installing SMG-SS7 Stage 2

     


    Installing Dahdi (optional)

     

    Installing Dahdi is an optional step as Dahdi is not part of the SMG-SS7 architecture but may be needed by Asterisk for other features.  For example voicemail and conferences need a Dahdi timing source to function correctly.  Dahdi is also needed when SS7 traffic is converted to PRI traffic.

    1. Download the latest stable copy of Dahdi-linux-complete from the Asterisk Website to /usr/src/ (Sangoma recommended location):
      http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
    2. Un-archive the downloaded tar-ball
      # tar xfz dahdi-linux-complete-current.tar.gz
    3. Change directory to the newly created directory
      # cd dahdi-linux-complete<tab>
    4. Compile the sources by running "make"
      # make
    5. Install the compiled sources using "make install"
      # make install
    6. Install the sample configs and startup scripts by running "make config"
      # make config

     


     

    Installing LibPRI (optional)

    Installing LibPRI is an optional step as LibPRI is not part of SMG-SS7 architecture but may be needed by Asterisk for other features.  For example, when converting from SS7 traffic to PRI traffic (and vice-versa) Asterisk needs a PRI stack.

    1. Download the latest stable copy of LibPRI from the Asterisk website to /usr/src/ (Sangoma recommended location):
      http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4-current.tar.gz
    2. Un-archive the downloaded tar-ball
      # tar xfz libpri-1.4-current.tar.gz
    3. Change directory to the newly created directory
      # cd libpri-1.4<tab>
    4. Compile the sources by running "make"
      # make
    5. Install the compiled sources using "make install"
      # make install

     


     

    Installing Asterisk

    Installing Asterisk is a mandatory step.

    1. Download the latest stable copy of Asterisk from the Asterisk website to /usr/src/ (Sangoma recommended location):
      http://downloads.asterisk.org/pub/telephony/asterisk/
    2. Un-archive the downloaded tar-ball
      # tar xfz asterisk<tab>
    3. Change directory to the newly created directory
      # cd asterisk<tab>
    4. Setup the build environment for Asterisk by running "./configure"
      # ./configure
    5. Compile the sources by running "make"
      # make
    6. Install the compiled sources by running "make install"
      # make install
    7. Install the sample configuration files by running "make samples"
      # make samples

     


     

    Downloading SMG-SS7

    SMG-SS7 has a type version as well as a package version.  The type version indicates the major and minor revision of ss7boxd and sangoma_isupd.  i.e. 2.1, 2.2, 2.3, etc  The main method of versioning in SMG-SS7 is the date code that the suite was packaged.  i.e. smgss7-ITU-2.5.XXX.tgz

    The SMG-SS7 packages also come in the 2 variants of SS7: ITU and ANSI.  Please make sure to download the correct variant for your install.

    1. Download the latest date coded SMG-SS7 package from Sangoma's FTP server to /usr/src/ (Sangoma recommended location):
      Latest ---->  2.6 release:  ftp://ftp.sangoma.com/linux/smg/2.6/ 
      Old --------> 2.5 release: ftp://ftp.sangoma.com/linux/smg/2.5/
    2. Un-archive the tar-ball
      # tar xfz smgss7-ITU-<ver>.XXX<tab>
    3. Change directory to the newly created directory
      # cd smgss7<tab>

     


     

    Downloading the SS7boxd Binary

    The ss7boxd binary is the only file that is licensed and therefore it must be downloaded separately from the rest of the SMG-SS7 package

    1. Open a new web browser and go to https://www.sangomapbx.com/ss7box/
    2. Enter the "eth0" MAC address from the SMG-SS7 server
    3. Enter the "Self Point Code" of your server in the correct version (ITU or ANSI)
    4. Enter the "user key" provided to you when you bought your SMG-SS7 license.
    5. Press the "Submit" key to continue
    6. A page will appear showing the status of the ss7boxd build...the build can take several minutes
    7. Once the build has been completed hight light and save all the text on the page to a safe location as the page shows you the user key, the MAC address this build is for, the SPC this build is for, the auth key (used in the next step), and lastly a link to download the actual file
    8. Use "./get-ss7boxd.sh" from the smginstall directory and the link from the web build to save the "ss7boxd-<user key>" file download the ss7boxd binary and name it as "ss7boxd"

     


     

    Creating the Configuration files

    The configuration files for SMG-SS7 are created using a 2-step process.  First, you fill in important information into an easy to read Google Docs Spreadsheet.  The spreadsheet is then exported as a CSV file to the target machine where it is the input to a script that creates the final configuration files used by the various components of SMG-SS7.

    NOTE: YOU WILL NEED A GOOGLE DOCS ACCOUNT TO SAVE YOUR CONFIGURATION FOR FUTURE USE BUT NOT VIEW AND USE ONE TIME

    1. Open the template spreadsheet
      2.6 release - smgss7 cfg file - smgcfg-template-v08
      2.5 release - smgss7 cfg file - smgcfg-template-v06
    2. Create a personal copy of the spreadsheet
      • Click File, Create A Copy, and name it accordingly.
    3. Fill in the correct information for your system
      Ports Section
      • The "wanpipeX" value is a sequential number from 1 that is unique
      • Run "wanrouter hwprobe" to see the "pci_slot", and "pci_bus" value for your cards
      • The "fe_line" value is the port number on the card
      • The "tdmv_span" value is a sequential number from 1 that is unique to only 1 port voice port.  If the port only has signaling channels (no voice CICs) leave the value blank
      • The "ss7boost trk" is formula cell...please do not modify it
      • The "use" is always "ss7"...at this time non SMG-SS7 ports need to be configured manually after wards
        -
      ss7box Section

      • The SPC is the "self point code" of the system...it is the unique point code for your system.
      • The "authcode" is the authorization code you get from building the ss7boxd binary
      • The "mtp2" section is a list of mtp2 links mapping them to a physical port
        • "mtp2-index" -> sequential unique index value from 0
        • "linkset" -> the linkset value, starting from 0.  A linkset is a set of links to an single APC
        • "link" -> a unique value, starting from 0, for each link in the link set
        • "wanpipeX" -> the wanpipeX number from the ports section identifying the card and port that has the mtp2 link
        • "slot" -> the time slot of the E1/T1 that carries the mtp2 traffic
        • "clear chan" -> this option tells ss7boxd that this is a 56kbps channel over a 64kbps time slot
        • "basic error" -> this option enables either "basic error" correction or "PCR" correction on this mtp2 link.  PCR is used only on satellite links
      • The "mtp3" section is a list of mtp3 links mapping them to mtp2 links
        • "mtp3-index" -> sequential unique index value from 0
        • "APC" -> this is the point code of the switch on the other end of the mtp2 link
        • "slt_size" -> this value does not need to changed
        • "prio" -> this value does not need to be changed
        • "ni" -> this value does not need to be changed
      • The "path" section is list mtp3 link indexes and a possible alternative mtp3 link index to the same APC
        • "path" -> sequential unique index value from 0
        • "LS-A" -> this is the mtp3-index value that this path can reach
        • "LS-B" -> this is an alternative mtp3-index value that goes to the same APC (normally this is already defined in the mtp3 section...so leave this as "na")
      • The "outbound route" section is a list of paths that can be used to reach all known SS7 switches (STPs and SSPs)
        • "outbound rte" -> sequential unique index value from 0
        • "DPC" -> this is the point code that this route can reach
        • "rtg protocol" -> this value can only be "mtp3" at this time.
        • "prim. path" -> this is the primary path index to use to reach this point code
        • "alt. path" -> this is an alternate path index that can be used to reach this point code (this is only filled in for SSPs as STPs would use the LS-B value to list an alternate)
        • "crosslink" -> this value does not need to be changed
      • The "inbound route" section is a list of all CICs and the location of the ISUP daemon and MSUs should be routed to
        • "inbound rte" -> sequential unique index value from 0
        • "DPC" -> this is the SPC...on inbound messages the DPC field of the MSU is the SPC of the system
        • "OPC" -> this is the point code of the SSP that these CICs are connected to
        • "CIC start" -> this is the lowest numbered CIC that is connected between the DPC and OPC
        • "CIC end" -> this is the highest numbered CIC that is connected between the DPC and OPC
        • "lcl addr" -> this is the ip address that ss7boxd will be listening to for messages from sangona_isupd that meet the DPC, OPC, and CIC requirements listed
        • "lcl port" -> this is the port number that ss7boxd will be listening to for messages from sangoma_isupd that meet the DPC, OPC, and CIC requirements listed
        • "rmt addr" -> this is the ip address that ss7boxd will send MSUs that meet the DPC, OPC, and CIC requirements listed
        • "rmt port" -> this is the port address that ss7boxd will send MSUs that meet the DPC, OPC, and CIC requirements listed
        -
      ISUP Section

      • The "tg" section is a list of all Trunk groups that this sangoma_isupd will handle
        • "t/g" -> sequential unique index value from 0
        • "DPC" -> point code for the SSP that this trunk group be connected to
        • "prio" -> this value does not need to be changed
        • "ni" -> this value does not need to be changed
        • "hunt" -> cic hunt direction...up=ascending, down=descending
        • "overlap" -> allow outbound overlap dialing or append "F" to dialed number on IAM
        • "NADI prefix" -> NADI value is sent from dial plan or use default clg NADI for all outbound calls
        • "def clg NADI" -> default clg NADI when NADI prefix = n
        • "inb TMR 3.1" -> allow incoming calls to request 3.1k audio
        • "inb TMR sp" -> allowing incoming calls to request Speech
        • "def outb CPC" -> set the default outgoing CPC value
        • "send IAM c/e" -> send IAM to dialplan via RDNIS string <EXPERIMENTAL>
        -
      • the "trunks" section is a list of all trunks that this sangoma_isupd will handle
        • "cic-tg" -> sequential unique index value from 0
        • "ss7boost trk" -> the ss7boost trunk value from the ports section that these cics are using
        • "chan" -> the time slots on the trunk that will be used for voice.  NOTE: to enter 1-31 prefix with ' character, to leave gaps use .
        • "CIC base" -> the CIC number for the first channel
        • "t/g" -> the tg index value that these CICs belong to
    4. Export the spreadsheet as a CSV file and copy the file to /usr/src/smginstall<version> directory
      • Click "File"->"Export"->"CSV Sheet Only", this will open a new browser window showing the CSV version of the spreadsheet
      • Start a new SSH connection to the SMG-SS7 server
      • Change directory to your smginstall directory
        • cd /usr/src/smginstall<tab>
      • Start a new file called config-ss7.csv
        • vi config-ss7.csv
      • Copy and paste the text from the browser window to the config-ss7.csv file
      • Save and exit the file
    5. Parse the CSV file using smgcfg04.py script to create the final configuration files.
      # ./smgcfg06.py -f config-ss7.csv

     


    Installing SMG-SS7 Stage 1

    Stage 1 installs the Sangoma driver, creates various folders, and copies the configuration files from the install directory to their finally location

    1. Start the installation
      # ./smginstall install
    2. The installer will try to stop Asterisk, existing SMG-SS7, and any existing Wanpipes and ask the user to confirm success
    3. The installer will then install the Sangoma driver, since you have already run the pre-test the driver should install with out problem and the process should be familiar.
    4. Choose install option #4 if you are only installing SMG-SS7, option #5 if you want Wanpipe to also compile with Dahdi support (Dahdi must be installed)
    5. Do not install the start up scripts, this should be done manually once proper operation as been confirmed
    6. Install the sample extensions.conf contexts if you are new to SMG-SS7
    7. Once the install is finished you will be returned to the Linux command prompt

     


     

    Installing SMG-SS7 Stage 2

    Stage 2 checks your system logger and setups the SMG-SS7 log files, compiles and installs SMG and Chan_woomera.

    1. In Stage 1 the installer created /smg and copied the SMG and Chan_woomera sources file there.  Change directory to /smg
    2. Start the installer passing in the arguments for SS7 and the location of the Asterisk source files
      # ./install -ss7 -pbxdir <asterisk source location>
    3. Once successfully installed you can move on to finalizing the configuration