Blocking Private Calls using NetJet-S

I have been unsuccessful at getting the NetJet-S to work under 2.6 kernels. I'm not sure if a separate voice patch needs to be applied, or if the 2.6 series has applied the voice patch, and it's another problem. I'm not sure if it's possible to get this working under 2.6 anymore.

Why?

Using the NetJet-S on an ISDN line means caller-ID information is sent before the phone starts ringing, allowing Asterisk to automatically answer the call depending upon caller-id. (A normal PSTN line only receives caller-id information between the 2nd-3rd ring?).

Asterisk can be configured to handle calls differently dependent upon the caller-id. In order to eliminate private calls, you'll need a device supported by Asterisk, such as the NetJet-S.

Requirements

There are a few steps in order to get everything working:

  • You'll need to have kernel support for the NetJet-S using the hisax module.
  • Patch the kernel with the 2.2.x/2.4.x voice patch available from the Traverse website.
  • Configure Asterisk to use the isdn4linux hisax device.
  • Create a rule to answer private calls.

Extracting/Patching the Kernel

Download the most recent 2.4.x kernel from ftp.kernel.org, and extract somewhere (probably /usr/src/linux).

After downloading the voice patch from the Traverse website, apply it to the kernel source.

Configuring the Kernel

Configure your kernel as described by Traverse in their instructions.

It is important you use a kernel version <= 2.4.x, as I am unaware of a voice patch available for the 2.6 branch.

Install Asterisk

Download and install Asterisk.

Configure Asterisk

Configuring Asterisk to use the isdn4linux device, by setting up /etc/asterisk/modem.conf to point to the device, similar to /dev/ttyI1. Also assign the MSN to be the phone number of the line you wish to answer the calls on.

Edit /etc/asterisk/extensions.conf to tell Asterisk to answer all calls with a caller-id of 0 (appears to be private on Telstra, may be "" on other carriers).

The "reject-call" file is a GSM sound file (Google for how to convert a .wav to .gsm), placed in /var/lib/asterisk/sounds.

exten => s/0,1,Answer                     ; Answer the line
exten => s/0,2,PlayBack(reject-call)  ; Play rejected message
exten => s/0,3,Hangup

Where reject-call.gsm is placed in astvarlibdir/sounds.

Conclusion

Hopefully I haven't missed too much, I set this up months ago, but it seems to work very well. If you have any problems, try checking /var/log/messages and /var/log/asterisk/*.

Back to Main Page