FreeTDM PRI Passive Recording

Moises Silva
Moises SilvaStaff Software Engineer, LogMeIn at LogMeIn Inc
FreeTDM PRI Passive Call Recording


            Moises Silva <moy@sangoma.com>
            Senior Software Engineer.
            Sangoma Technologies.




                                      02 Aug-2010 / 1
Agenda
•   What is FreeTDM.

•   FreeTDM API basics.

•   PRI passive line monitoring.

•   ftmod_pritap – The FreeTDM PRI tapping module.

•   PRI tapping with FreeSWITCH.




                                                     02 Aug-2010 / 2
FreeTDM Architecture
•   libfreetdm.
      – Generic unified “C” API for PSTN I/O and signaling.
•   Modular architecture.
•   I/O modules.
      – Sangoma, DAHDI, PIKA.
•   Signaling modules.
      – isdn, libpri, ss7, pritap, openr2.
•   mod_freetdm.
      – Interface to FreeSWITCH.




                                                              02 Aug-2010 / 3
FreeTDM Architecture




                       02 Aug-2010 / 4
FreeTDM Architecture

•   FreeTDM is the new name of OpenZAP.

•   FreeTDM introduces new features and better integration with new
    Sangoma signaling stacks.

•   Sangoma is committed to support FreeTDM and use it as its own
    signaling and I/O high level API.




                                                            02 Aug-2010 / 5
FreeTDM API basics
•   Span and channel-based API

•   I/O API

     – ftdm_channel_open()

     – ftdm_channel_read/write()

     – ftdm_channel_wait()

     – ftdm_channel_command()

     – ftdm_channel_close()

     – ftdm_span_poll_event()

     – ftdm_span_next_event()
                                   02 Aug-2010 / 6
FreeTDM API basics

•   Call control API (signaling)

     – ftdm_channel_call_place()

     – ftdm_channel_call_indicate()

     – ftdm_channel_call_hold/unhold()

     – ftdm_channel_call_hangup()

•   Outgoing call events through callbacks

     – SIGEVENT_START, SIGEVENT_STOP, SIGEVENT_PROGRESS,
       SIGEVENT_UP etc.



                                                 02 Aug-2010 / 7
PRI Passive Monitoring




                         02 Aug-2010 / 8
PRI Passive Monitoring

•   Also known as tapping, call tapping, wire tapping etc.

•   Captures signaling (D-channel) and voice traffic in T1/E1 link.

•   Typical applications:

     – Call logging.

     – Call recording.

     – Lawful interception.

     – Inbound/Outbound call centers quality assurance.




                                                                02 Aug-2010 / 9
PRI Passive Monitoring




                         02 Aug-2010 / 10
PRI Passive Monitoring

•   Connections between A102 and tapping box.




                                                02 Aug-2010 / 11
PRI Passive Monitoring

•   Connections between A102 and tapping box.




                                                02 Aug-2010 / 12
PRI Passive Monitoring

•   2 Sangoma ports needed per link.

•   Tapping box (PN 633) ensures quality.

•   High impedance mode in the card.

•   Wanpipe drivers drop any tx data.

•   One port for Tx NET, other for TX CPE


                                        Span 1   Span 2




                                                 02 Aug-2010 / 13
PRI Passive Monitoring
•   Raw tapping can be achieved with wanpipemon (pcap file).

•   Raw access to D-channel messages through libsangoma.

•   Voice from NET in span 1, voice from CPE in span 2. In this mode,
    mixing is up to the user.




                                                            02 Aug-2010 / 14
FreeTDM PRI Tapping Module

•   Easier API in C for PRI tapping.

•   You configure your spans with “pritap” signaling.

•   Calls are reported through regular SIGEVENT_ messages.

•   Using I/O FreeTDM API you can access the mixed stream.

     – ftdm_channel_read(ftdmchan) returns the stream already mixed.




                                                              02 Aug-2010 / 15
FreeTDM Tapping Module




                         02 Aug-2010 / 16
FreeTDM PRI Tapping Module

•   Uses passive version of libpri for message decoding.

     – http://svn.digium.com/svn/libpri/team/moy/tap-1.4/

•   Decodes IE’s on SETUP, PROCEED, ALERTING, CONNECT,
    DISCONNECT, etc

•   Planning to move to independent decoder to drop dependency.

•   Configure FreeTDM with –with-pritap to enable ftmod_pritap.so.




                                                            02 Aug-2010 / 17
Wanpipe Configuration

•   Interface in TDM_VOICE_API mode.

•   TE_HIGHIMPEDANCE = YES

•   Sample configs available:

     – at http://wiki.sangoma.com/sangoma-tap-system




                                                       02 Aug-2010 / 18
FreeTDM Configuration

•   Regular T1/E1 configuration parameters for 2 spans (or more).


                     [span wanpipe tap1]
                     trunk_type => T1
                     b-channel => 1:1-23
                     d-channel => 1:24

                     [span wanpipe tap2]
                     trunk_type => T1
                     b-channel => 2:1-23
                     d-channel => 2:24




                                                            02 Aug-2010 / 19
FreeSWITCH PRI tapping

•   No changes at all needed in FreeSWITCH.

•   FreeTDM reports tapped calls to FreeSWITCH as regular incoming
    calls.

•   You use FreeSWITCH dial plan to do recording, logging or any
    other supported FreeSWITCH application on the tapped call.

     – <action application=“record” data=“….”>

•   Any application doing any writing won’t really do anything.




                                                             02 Aug-2010 / 20
FreeSWITCH PRI tapping




                         02 Aug-2010 / 21
FreeSWITCH PRI tapping Configuration
•   XML configuration in autoload_configs/freetdm.conf.xml

       <configuration name="freetdm.conf" description="FreeTDM Configuration">
         <pritap_spans>

         <span name="tap1”>
          <param name="peerspan" value="tap2"/>
          <param name="dialplan" value="XML"/>
          <param name="context" value="default"/>
         </span>

         <span name="tap2”>
          <param name="peerspan" value="tap1"/>
          <param name="dialplan" value="XML"/>
          <param name="context" value="default"/>
         </span>

         </pritap_spans>
       </configuration>




                                                                             02 Aug-2010 / 22
Conclusion

•   You can build now a passive call recorder/logger easily.

•   Tapped system can be any PRI switch/telco.

•   Available in API mode or using standard FreeSWITCH/FreeTDM
    integration.

•   Extensible through regular dial plan logic (XML, LUA etc).




                                                                 02 Aug-2010 / 23
References


- http://wiki.sangoma.com/sangoma-tap-system

- http://wiki.sangoma.com/wanpipe-api-freetdm

- http://wiki.sangoma.com/wanpipe-freeswitch




                                                06-Apr-10 / 24
Thank You!

          Questions and Comments?


Contact e-mail: moy@sangoma.com




                                    02 Aug-2010 / 25
1 of 25

Recommended

Asterisk PRI Passive Call Recording by
Asterisk PRI Passive Call RecordingAsterisk PRI Passive Call Recording
Asterisk PRI Passive Call RecordingMoises Silva
3.3K views28 slides
C04 – Avoiding pitfalls in Profinet RT and IRT node implementation - Hans Der... by
C04 – Avoiding pitfalls in Profinet RT and IRT node implementation - Hans Der...C04 – Avoiding pitfalls in Profinet RT and IRT node implementation - Hans Der...
C04 – Avoiding pitfalls in Profinet RT and IRT node implementation - Hans Der...PROFIBUS and PROFINET InternationaI - PI UK
616 views24 slides
ICE basic by
ICE basicICE basic
ICE basicVu Nguyen
1.4K views31 slides
FPGA-based error generator for PROFIBUS DP - Jean-Marc Capron (Yncréa Hauts-d... by
FPGA-based error generator for PROFIBUS DP - Jean-Marc Capron (Yncréa Hauts-d...FPGA-based error generator for PROFIBUS DP - Jean-Marc Capron (Yncréa Hauts-d...
FPGA-based error generator for PROFIBUS DP - Jean-Marc Capron (Yncréa Hauts-d...PROFIBUS and PROFINET InternationaI - PI UK
167 views19 slides
Nat traversal in WebRTC context by
Nat traversal in WebRTC contextNat traversal in WebRTC context
Nat traversal in WebRTC contextAudioCodes
5.8K views17 slides
Introduction to PROFINET - Derek Lane of Wago by
Introduction to PROFINET -  Derek Lane of WagoIntroduction to PROFINET -  Derek Lane of Wago
Introduction to PROFINET - Derek Lane of WagoPROFIBUS and PROFINET InternationaI - PI UK
7.4K views47 slides

More Related Content

What's hot

Stun turn poc_pilot by
Stun turn poc_pilotStun turn poc_pilot
Stun turn poc_pilotMihály Mészáros
2.7K views61 slides
PROFINET - applying the Ethernet standard to industral automation - Peter Th... by
PROFINET  - applying the Ethernet standard to industral automation - Peter Th...PROFINET  - applying the Ethernet standard to industral automation - Peter Th...
PROFINET - applying the Ethernet standard to industral automation - Peter Th...PROFIBUS and PROFINET InternationaI - PI UK
4.1K views39 slides
Demuxed 2020 by
Demuxed 2020Demuxed 2020
Demuxed 2020SeanDuBois3
92 views60 slides
Philippe Langlois - LTE Pwnage - P1security by
Philippe Langlois - LTE Pwnage - P1securityPhilippe Langlois - LTE Pwnage - P1security
Philippe Langlois - LTE Pwnage - P1securityP1Security
5.1K views48 slides
W4 profinet frame analysis, peter thomas by
W4 profinet frame analysis, peter thomasW4 profinet frame analysis, peter thomas
W4 profinet frame analysis, peter thomasPROFIBUS and PROFINET InternationaI - PI UK
2.4K views16 slides
InfiltrateCon 2016 - Why Nation-State Hack Telco Networks by
InfiltrateCon 2016 - Why Nation-State Hack Telco NetworksInfiltrateCon 2016 - Why Nation-State Hack Telco Networks
InfiltrateCon 2016 - Why Nation-State Hack Telco NetworksOmer Coskun
1.4K views107 slides

What's hot(20)

Philippe Langlois - LTE Pwnage - P1security by P1Security
Philippe Langlois - LTE Pwnage - P1securityPhilippe Langlois - LTE Pwnage - P1security
Philippe Langlois - LTE Pwnage - P1security
P1Security 5.1K views
InfiltrateCon 2016 - Why Nation-State Hack Telco Networks by Omer Coskun
InfiltrateCon 2016 - Why Nation-State Hack Telco NetworksInfiltrateCon 2016 - Why Nation-State Hack Telco Networks
InfiltrateCon 2016 - Why Nation-State Hack Telco Networks
Omer Coskun1.4K views
HITB Labs: Practical Attacks Against 3G/4G Telecommunication Networks by Jim Geovedi
HITB Labs: Practical Attacks Against 3G/4G Telecommunication NetworksHITB Labs: Practical Attacks Against 3G/4G Telecommunication Networks
HITB Labs: Practical Attacks Against 3G/4G Telecommunication Networks
Jim Geovedi5.2K views
MPLS SDN 2015 - SPRING interoperability testing by Stephane Litkowski
MPLS SDN 2015 - SPRING interoperability testingMPLS SDN 2015 - SPRING interoperability testing
MPLS SDN 2015 - SPRING interoperability testing
Stephane Litkowski1.3K views
Implementing MPLS Services using Openflow by APNIC
Implementing MPLS Services using OpenflowImplementing MPLS Services using Openflow
Implementing MPLS Services using Openflow
APNIC3.6K views
SurfRider/AMC™ - Modular DSP Resource Board by webhostingguy
SurfRider/AMC™ - Modular DSP Resource BoardSurfRider/AMC™ - Modular DSP Resource Board
SurfRider/AMC™ - Modular DSP Resource Board
webhostingguy1.3K views
ComNet NWKED Data Sheet by JMAC Supply
ComNet NWKED Data SheetComNet NWKED Data Sheet
ComNet NWKED Data Sheet
JMAC Supply130 views
MIPI DevCon 2016: Accelerating UFS and MIPI UniPro Interoperability Testing by MIPI Alliance
MIPI DevCon 2016: Accelerating UFS and MIPI UniPro Interoperability TestingMIPI DevCon 2016: Accelerating UFS and MIPI UniPro Interoperability Testing
MIPI DevCon 2016: Accelerating UFS and MIPI UniPro Interoperability Testing
MIPI Alliance879 views
Session Initiation Protocol by Matt Bynum
Session Initiation ProtocolSession Initiation Protocol
Session Initiation Protocol
Matt Bynum7.3K views
Philippe Langlois - Hacking HLR HSS and MME core network elements by P1Security
Philippe Langlois - Hacking HLR HSS and MME core network elementsPhilippe Langlois - Hacking HLR HSS and MME core network elements
Philippe Langlois - Hacking HLR HSS and MME core network elements
P1Security 11.4K views

Similar to FreeTDM PRI Passive Recording

BRKRST-3068 Troubleshooting Catalyst 2K and 3K.pdf by
BRKRST-3068  Troubleshooting Catalyst 2K and 3K.pdfBRKRST-3068  Troubleshooting Catalyst 2K and 3K.pdf
BRKRST-3068 Troubleshooting Catalyst 2K and 3K.pdfssusercbaa33
17 views109 slides
TekTape Manual by
TekTape ManualTekTape Manual
TekTape ManualYasin KAPLAN
130 views12 slides
Firewalld : A New Interface to Your Netfilter Stack by
Firewalld : A New Interface to Your Netfilter StackFirewalld : A New Interface to Your Netfilter Stack
Firewalld : A New Interface to Your Netfilter StackMahmoud Shiri Varamini
1K views30 slides
Vision one-customer by
Vision one-customerVision one-customer
Vision one-customerMarie-Agnès PONS
919 views33 slides
8051 by
80518051
8051Wave Digitech
1.5K views33 slides
PLNOG14: Fortinet, Carrier and MSSP - Robert Dąbrowski by
PLNOG14: Fortinet, Carrier and MSSP - Robert DąbrowskiPLNOG14: Fortinet, Carrier and MSSP - Robert Dąbrowski
PLNOG14: Fortinet, Carrier and MSSP - Robert DąbrowskiPROIDEA
587 views34 slides

Similar to FreeTDM PRI Passive Recording(20)

BRKRST-3068 Troubleshooting Catalyst 2K and 3K.pdf by ssusercbaa33
BRKRST-3068  Troubleshooting Catalyst 2K and 3K.pdfBRKRST-3068  Troubleshooting Catalyst 2K and 3K.pdf
BRKRST-3068 Troubleshooting Catalyst 2K and 3K.pdf
ssusercbaa3317 views
PLNOG14: Fortinet, Carrier and MSSP - Robert Dąbrowski by PROIDEA
PLNOG14: Fortinet, Carrier and MSSP - Robert DąbrowskiPLNOG14: Fortinet, Carrier and MSSP - Robert Dąbrowski
PLNOG14: Fortinet, Carrier and MSSP - Robert Dąbrowski
PROIDEA587 views
PLNOG 7: Emil Gągała, Sławomir Janukowicz - carrier grade NAT by PROIDEA
PLNOG 7: Emil Gągała,  Sławomir Janukowicz - carrier grade NAT PLNOG 7: Emil Gągała,  Sławomir Janukowicz - carrier grade NAT
PLNOG 7: Emil Gągała, Sławomir Janukowicz - carrier grade NAT
PROIDEA82 views
Next Gen Monitoring with INT by MyNOG
Next Gen Monitoring with INTNext Gen Monitoring with INT
Next Gen Monitoring with INT
MyNOG1.2K views
Krzysztof Mazepa - Netflow/cflow - ulubionym narzędziem operatorów SP by PROIDEA
Krzysztof Mazepa - Netflow/cflow - ulubionym narzędziem operatorów SPKrzysztof Mazepa - Netflow/cflow - ulubionym narzędziem operatorów SP
Krzysztof Mazepa - Netflow/cflow - ulubionym narzędziem operatorów SP
PROIDEA50 views
ACIT - CCNA Training Course Topic - Switch Stp ACIT by Sleek International
ACIT - CCNA Training Course Topic - Switch Stp ACITACIT - CCNA Training Course Topic - Switch Stp ACIT
ACIT - CCNA Training Course Topic - Switch Stp ACIT
Sleek International1.3K views
PLNOG14: Czy można żyć bez systemu ochrony przed atakami DDoS - Marek Janik by PROIDEA
PLNOG14: Czy można żyć bez systemu ochrony przed atakami DDoS - Marek JanikPLNOG14: Czy można żyć bez systemu ochrony przed atakami DDoS - Marek Janik
PLNOG14: Czy można żyć bez systemu ochrony przed atakami DDoS - Marek Janik
PROIDEA380 views
Coherent DSP meets open transport SDN by HidekiNishizawa
Coherent DSP meets open transport SDNCoherent DSP meets open transport SDN
Coherent DSP meets open transport SDN
HidekiNishizawa517 views
Transport SDN & OpenDaylight Use Cases in Korea by Justin Park
Transport SDN & OpenDaylight Use Cases in KoreaTransport SDN & OpenDaylight Use Cases in Korea
Transport SDN & OpenDaylight Use Cases in Korea
Justin Park1.2K views
FIWARE Tech Summit - Stream Processing with Kurento Media Server by FIWARE
FIWARE Tech Summit - Stream Processing with Kurento Media ServerFIWARE Tech Summit - Stream Processing with Kurento Media Server
FIWARE Tech Summit - Stream Processing with Kurento Media Server
FIWARE843 views
TTN (The Things Network) Dallas - June 29, 2017 by Marta Soncodi
TTN (The Things Network) Dallas - June 29, 2017TTN (The Things Network) Dallas - June 29, 2017
TTN (The Things Network) Dallas - June 29, 2017
Marta Soncodi185 views
PIT Overload Analysis in Content Centric Networks - Slides ICN '13 by Matteo Virgilio
PIT Overload Analysis in Content Centric Networks - Slides ICN '13PIT Overload Analysis in Content Centric Networks - Slides ICN '13
PIT Overload Analysis in Content Centric Networks - Slides ICN '13
Matteo Virgilio502 views

More from Moises Silva

FreeSWITCH Monitoring by
FreeSWITCH MonitoringFreeSWITCH Monitoring
FreeSWITCH MonitoringMoises Silva
6.1K views48 slides
Scaling FreeSWITCH Performance by
Scaling FreeSWITCH PerformanceScaling FreeSWITCH Performance
Scaling FreeSWITCH PerformanceMoises Silva
14.6K views39 slides
Interfaces de Scripting para librerias en C by
Interfaces de Scripting para librerias en CInterfaces de Scripting para librerias en C
Interfaces de Scripting para librerias en CMoises Silva
1.3K views41 slides
Vulnerabilidades en Aplicaciones Web PHP by
Vulnerabilidades en Aplicaciones Web PHPVulnerabilidades en Aplicaciones Web PHP
Vulnerabilidades en Aplicaciones Web PHPMoises Silva
3.6K views20 slides
Manejo de Medios en FreeSWITCH by
Manejo de Medios en FreeSWITCHManejo de Medios en FreeSWITCH
Manejo de Medios en FreeSWITCHMoises Silva
1.3K views42 slides
Implementation Lessons using WebRTC in Asterisk by
Implementation Lessons using WebRTC in AsteriskImplementation Lessons using WebRTC in Asterisk
Implementation Lessons using WebRTC in AsteriskMoises Silva
28.8K views39 slides

More from Moises Silva(14)

FreeSWITCH Monitoring by Moises Silva
FreeSWITCH MonitoringFreeSWITCH Monitoring
FreeSWITCH Monitoring
Moises Silva6.1K views
Scaling FreeSWITCH Performance by Moises Silva
Scaling FreeSWITCH PerformanceScaling FreeSWITCH Performance
Scaling FreeSWITCH Performance
Moises Silva14.6K views
Interfaces de Scripting para librerias en C by Moises Silva
Interfaces de Scripting para librerias en CInterfaces de Scripting para librerias en C
Interfaces de Scripting para librerias en C
Moises Silva1.3K views
Vulnerabilidades en Aplicaciones Web PHP by Moises Silva
Vulnerabilidades en Aplicaciones Web PHPVulnerabilidades en Aplicaciones Web PHP
Vulnerabilidades en Aplicaciones Web PHP
Moises Silva3.6K views
Manejo de Medios en FreeSWITCH by Moises Silva
Manejo de Medios en FreeSWITCHManejo de Medios en FreeSWITCH
Manejo de Medios en FreeSWITCH
Moises Silva1.3K views
Implementation Lessons using WebRTC in Asterisk by Moises Silva
Implementation Lessons using WebRTC in AsteriskImplementation Lessons using WebRTC in Asterisk
Implementation Lessons using WebRTC in Asterisk
Moises Silva28.8K views
SIP Testing with FreeSWITCH by Moises Silva
SIP Testing with FreeSWITCHSIP Testing with FreeSWITCH
SIP Testing with FreeSWITCH
Moises Silva11.3K views
FreeSWITCH Modules for Asterisk Developers by Moises Silva
FreeSWITCH Modules for Asterisk DevelopersFreeSWITCH Modules for Asterisk Developers
FreeSWITCH Modules for Asterisk Developers
Moises Silva3.9K views
FreeSWITCH: Asterisk con Esteroides by Moises Silva
FreeSWITCH: Asterisk con EsteroidesFreeSWITCH: Asterisk con Esteroides
FreeSWITCH: Asterisk con Esteroides
Moises Silva7.1K views
Negociacion de Codecs en Asterisk by Moises Silva
Negociacion de Codecs en AsteriskNegociacion de Codecs en Asterisk
Negociacion de Codecs en Asterisk
Moises Silva765 views
Sangoma en el Ecosistema Open Source by Moises Silva
Sangoma en el Ecosistema Open SourceSangoma en el Ecosistema Open Source
Sangoma en el Ecosistema Open Source
Moises Silva1.1K views
Media Handling in FreeSWITCH by Moises Silva
Media Handling in FreeSWITCHMedia Handling in FreeSWITCH
Media Handling in FreeSWITCH
Moises Silva9.3K views
OpenR2 in Asterisk by Moises Silva
OpenR2 in AsteriskOpenR2 in Asterisk
OpenR2 in Asterisk
Moises Silva1.5K views
FreeSWITCH as a Kickass SBC by Moises Silva
FreeSWITCH as a Kickass SBCFreeSWITCH as a Kickass SBC
FreeSWITCH as a Kickass SBC
Moises Silva12.8K views

FreeTDM PRI Passive Recording

  • 1. FreeTDM PRI Passive Call Recording Moises Silva <moy@sangoma.com> Senior Software Engineer. Sangoma Technologies. 02 Aug-2010 / 1
  • 2. Agenda • What is FreeTDM. • FreeTDM API basics. • PRI passive line monitoring. • ftmod_pritap – The FreeTDM PRI tapping module. • PRI tapping with FreeSWITCH. 02 Aug-2010 / 2
  • 3. FreeTDM Architecture • libfreetdm. – Generic unified “C” API for PSTN I/O and signaling. • Modular architecture. • I/O modules. – Sangoma, DAHDI, PIKA. • Signaling modules. – isdn, libpri, ss7, pritap, openr2. • mod_freetdm. – Interface to FreeSWITCH. 02 Aug-2010 / 3
  • 4. FreeTDM Architecture 02 Aug-2010 / 4
  • 5. FreeTDM Architecture • FreeTDM is the new name of OpenZAP. • FreeTDM introduces new features and better integration with new Sangoma signaling stacks. • Sangoma is committed to support FreeTDM and use it as its own signaling and I/O high level API. 02 Aug-2010 / 5
  • 6. FreeTDM API basics • Span and channel-based API • I/O API – ftdm_channel_open() – ftdm_channel_read/write() – ftdm_channel_wait() – ftdm_channel_command() – ftdm_channel_close() – ftdm_span_poll_event() – ftdm_span_next_event() 02 Aug-2010 / 6
  • 7. FreeTDM API basics • Call control API (signaling) – ftdm_channel_call_place() – ftdm_channel_call_indicate() – ftdm_channel_call_hold/unhold() – ftdm_channel_call_hangup() • Outgoing call events through callbacks – SIGEVENT_START, SIGEVENT_STOP, SIGEVENT_PROGRESS, SIGEVENT_UP etc. 02 Aug-2010 / 7
  • 8. PRI Passive Monitoring 02 Aug-2010 / 8
  • 9. PRI Passive Monitoring • Also known as tapping, call tapping, wire tapping etc. • Captures signaling (D-channel) and voice traffic in T1/E1 link. • Typical applications: – Call logging. – Call recording. – Lawful interception. – Inbound/Outbound call centers quality assurance. 02 Aug-2010 / 9
  • 10. PRI Passive Monitoring 02 Aug-2010 / 10
  • 11. PRI Passive Monitoring • Connections between A102 and tapping box. 02 Aug-2010 / 11
  • 12. PRI Passive Monitoring • Connections between A102 and tapping box. 02 Aug-2010 / 12
  • 13. PRI Passive Monitoring • 2 Sangoma ports needed per link. • Tapping box (PN 633) ensures quality. • High impedance mode in the card. • Wanpipe drivers drop any tx data. • One port for Tx NET, other for TX CPE Span 1 Span 2 02 Aug-2010 / 13
  • 14. PRI Passive Monitoring • Raw tapping can be achieved with wanpipemon (pcap file). • Raw access to D-channel messages through libsangoma. • Voice from NET in span 1, voice from CPE in span 2. In this mode, mixing is up to the user. 02 Aug-2010 / 14
  • 15. FreeTDM PRI Tapping Module • Easier API in C for PRI tapping. • You configure your spans with “pritap” signaling. • Calls are reported through regular SIGEVENT_ messages. • Using I/O FreeTDM API you can access the mixed stream. – ftdm_channel_read(ftdmchan) returns the stream already mixed. 02 Aug-2010 / 15
  • 16. FreeTDM Tapping Module 02 Aug-2010 / 16
  • 17. FreeTDM PRI Tapping Module • Uses passive version of libpri for message decoding. – http://svn.digium.com/svn/libpri/team/moy/tap-1.4/ • Decodes IE’s on SETUP, PROCEED, ALERTING, CONNECT, DISCONNECT, etc • Planning to move to independent decoder to drop dependency. • Configure FreeTDM with –with-pritap to enable ftmod_pritap.so. 02 Aug-2010 / 17
  • 18. Wanpipe Configuration • Interface in TDM_VOICE_API mode. • TE_HIGHIMPEDANCE = YES • Sample configs available: – at http://wiki.sangoma.com/sangoma-tap-system 02 Aug-2010 / 18
  • 19. FreeTDM Configuration • Regular T1/E1 configuration parameters for 2 spans (or more). [span wanpipe tap1] trunk_type => T1 b-channel => 1:1-23 d-channel => 1:24 [span wanpipe tap2] trunk_type => T1 b-channel => 2:1-23 d-channel => 2:24 02 Aug-2010 / 19
  • 20. FreeSWITCH PRI tapping • No changes at all needed in FreeSWITCH. • FreeTDM reports tapped calls to FreeSWITCH as regular incoming calls. • You use FreeSWITCH dial plan to do recording, logging or any other supported FreeSWITCH application on the tapped call. – <action application=“record” data=“….”> • Any application doing any writing won’t really do anything. 02 Aug-2010 / 20
  • 21. FreeSWITCH PRI tapping 02 Aug-2010 / 21
  • 22. FreeSWITCH PRI tapping Configuration • XML configuration in autoload_configs/freetdm.conf.xml <configuration name="freetdm.conf" description="FreeTDM Configuration"> <pritap_spans> <span name="tap1”> <param name="peerspan" value="tap2"/> <param name="dialplan" value="XML"/> <param name="context" value="default"/> </span> <span name="tap2”> <param name="peerspan" value="tap1"/> <param name="dialplan" value="XML"/> <param name="context" value="default"/> </span> </pritap_spans> </configuration> 02 Aug-2010 / 22
  • 23. Conclusion • You can build now a passive call recorder/logger easily. • Tapped system can be any PRI switch/telco. • Available in API mode or using standard FreeSWITCH/FreeTDM integration. • Extensible through regular dial plan logic (XML, LUA etc). 02 Aug-2010 / 23
  • 25. Thank You! Questions and Comments? Contact e-mail: moy@sangoma.com 02 Aug-2010 / 25

Editor's Notes

  1. For the hardware drivers, it should be “Wanpipe” instead of “Wanrouter”