Wednesday, August 27, 2008

E1 Tapping with Sangoma card

Need to do E1 tapping to capture voice data and found that E1 card from Sangoma has "High Impedance" mode which can be used to tap E1 data. However, this will require 2 E1 for tapping, one to tap on Rx and another one to tap Tx.

Development for proof of concept shows that captures voice from E1 channel is working. Voice stream from Sangoma E1 card is 8 bytes for each channel and concatenate for each channel to combine into 1 packet. For example, if span has 15 channels, the voice stream will be 15 bytes per block:

CH1CH2CH3CH4CH5...CH15

And we set MTU to 1200, there will be 80 block of 15 bytes in one packet. Therefore, application must extract correct data for the channel from voice stream. Voice stream is in a-law or u-law depends on configuration.

In order to minimize span setting, use the following format for each E1:

1-15.17-31

which mean, this span contains channel 1-15 and 17-31.

4 comments:

firebird said...

Hi Have you done the actual tapping of the E1 line. can send me the procedure of how the packets can be captured from a E1 ISDN PRI and analysis later.

thanks

stp said...

Yes, I have working system on both Windows and Linux. What do you want to see?

firebird said...

I would be able to tap in packets using sangoma API , I am looking to convert these information in to .wav and also other D channel control information.

If you got some information please share.

stp said...

Which OS you are using? There is different setting in windows and linux. Once setup, you open each channel and will get data from API.

On channel 16, it is Q.931 message. Just decode data on this channel, you will get call information according to Q.931. Others channels, it is just raw PCM data (A-law if E1). You can read data and save into file (call RAW format). Or save it into wave file format.