FreeTDM PRI Passive Call Recording            Moises Silva <moy@sangoma.com>            Senior Software Engineer.         ...
Agenda•   What is FreeTDM.•   FreeTDM API basics.•   PRI passive line monitoring.•   ftmod_pritap – The FreeTDM PRI tappin...
FreeTDM Architecture•   libfreetdm.      – Generic unified “C” API for PSTN I/O and signaling.•   Modular architecture.•  ...
FreeTDM Architecture                       02 Aug-2010 / 4
FreeTDM Architecture•   FreeTDM is the new name of OpenZAP.•   FreeTDM introduces new features and better integration with...
FreeTDM API basics•   Span and channel-based API•   I/O API     – ftdm_channel_open()     – ftdm_channel_read/write()     ...
FreeTDM API basics•   Call control API (signaling)     – ftdm_channel_call_place()     – ftdm_channel_call_indicate()     ...
PRI Passive Monitoring                         02 Aug-2010 / 8
PRI Passive Monitoring•   Also known as tapping, call tapping, wire tapping etc.•   Captures signaling (D-channel) and voi...
PRI Passive Monitoring                         02 Aug-2010 / 10
PRI Passive Monitoring•   Connections between A102 and tapping box.                                                02 Aug-...
PRI Passive Monitoring•   Connections between A102 and tapping box.                                                02 Aug-...
PRI Passive Monitoring•   2 Sangoma ports needed per link.•   Tapping box (PN 633) ensures quality.•   High impedance mode...
PRI Passive Monitoring•   Raw tapping can be achieved with wanpipemon (pcap file).•   Raw access to D-channel messages thr...
FreeTDM PRI Tapping Module•   Easier API in C for PRI tapping.•   You configure your spans with “pritap” signaling.•   Cal...
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/...
Wanpipe Configuration•   Interface in TDM_VOICE_API mode.•   TE_HIGHIMPEDANCE = YES•   Sample configs available:     – at ...
FreeTDM Configuration•   Regular T1/E1 configuration parameters for 2 spans (or more).                     [span wanpipe t...
FreeSWITCH PRI tapping•   No changes at all needed in FreeSWITCH.•   FreeTDM reports tapped calls to FreeSWITCH as regular...
FreeSWITCH PRI tapping                         02 Aug-2010 / 21
FreeSWITCH PRI tapping Configuration•   XML configuration in autoload_configs/freetdm.conf.xml       <configuration name="...
Conclusion•   You can build now a passive call recorder/logger easily.•   Tapped system can be any PRI switch/telco.•   Av...
References- http://wiki.sangoma.com/sangoma-tap-system- http://wiki.sangoma.com/wanpipe-api-freetdm- http://wiki.sangoma.c...
Thank You!          Questions and Comments?Contact e-mail: moy@sangoma.com                                    02 Aug-2010 ...
Upcoming SlideShare
Loading in …5
×

FreeTDM PRI Passive Recording

2,188 views

Published on

PRI Q.931

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,188
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
36
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • For the hardware drivers, it should be “Wanpipe” instead of “Wanrouter”
  • FreeTDM PRI Passive Recording

    1. 1. FreeTDM PRI Passive Call Recording Moises Silva <moy@sangoma.com> Senior Software Engineer. Sangoma Technologies. 02 Aug-2010 / 1
    2. 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. 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. 4. FreeTDM Architecture 02 Aug-2010 / 4
    5. 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. 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. 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. 8. PRI Passive Monitoring 02 Aug-2010 / 8
    9. 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. 10. PRI Passive Monitoring 02 Aug-2010 / 10
    11. 11. PRI Passive Monitoring• Connections between A102 and tapping box. 02 Aug-2010 / 11
    12. 12. PRI Passive Monitoring• Connections between A102 and tapping box. 02 Aug-2010 / 12
    13. 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. 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. 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. 16. FreeTDM Tapping Module 02 Aug-2010 / 16
    17. 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. 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. 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. 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. 21. FreeSWITCH PRI tapping 02 Aug-2010 / 21
    22. 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. 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
    24. 24. 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
    25. 25. Thank You! Questions and Comments?Contact e-mail: moy@sangoma.com 02 Aug-2010 / 25

    ×