Upgrade 3CX to v18 and get it hosted free!

Asterisk cmd ZapRAS

Author image

Synopsis

The ZapRAS command is for use with Asterisk ZAP channels ISDN connections. It provides a Remote Access Server (RAS) to permit you to use some of your ISDN channels as data channels to give you a data link (perhaps an Internet connection). This command is not for use with analog lines; it does not provide a modem emulator.

Description:

ZapRAS(args)

Executes a RAS server using pppd on the given channel. Your pppd must be patched to be Zaptel-aware, also your kernel needs to be ppp-aware.

Starting points

  • You need to get your pppd patched to support Zaptel. See http://downloads.digium.com/pub/zaptel/misc/.
  • You will need the tarball and both patches listed.
  • You need to apply the PPPoE patch then the Zaptel patch.
  • It seems you need to have PPPoE support for your kernel. Try to tag any ppp-related kernel options as modules. It helps.

At this point you should be able to compile and install the pppd daemon. After that you should re-compile zaptel and then asterisk it-self.

Once you have this new pppd compiled, and you have the ppp support in your kernel, you are ready for the configuring your Dialplan. Here is the entry I used to get started with:

exten => 9022,1,Answer
exten => 9022,2,ZapRas(debug|64000|noauth|netmask|255.255.255.0|192.168.10.1:192.168.10.2)

ZapRAS requires you to split the pppd arguments so it is easy to pass them to exec. The line above will log problems to syslog, and importantly, defines the IP addresses to be used on each side (note: netmask above is not correct, ppp is a point-to-point protocol, it should be sth like 255.255.255.252 or even .255, remeber to add some routes (“# ip route add … via …”) . You will want to figure out what pppd flags will work best for your installation, for links with many B channels it’s good to disable CCP protocol at all (compression in pppd).

The above line was used as a proof of concept to prove that I could get packets flowing. I too still have to change these flags for the final production environment. We connected using a Lucent (Ascend) Pipeline 75, and were able to pass traffic(ping) between the pipeline and the gateway machine.

Just add multilink to the options list of ZapRAS, and you can bond as many channels as are configured for idledial under one ppp interface. (This has been tested between two Asterisk boxes across a PRI.)

Also tested on asterisk with Allied-Telesyn mid-range router 410 with PRI/E1 card. I was able to dial from asterisk with multilinked 30 B channels and use full (~200 KB/s) bandwidth.
Recently my link with two boxes and 4x E1 port cards (TE 405 compatible) was upgraded from one E1 to 4 E1 from telco. It’s possible to link them to achive ~8 Mbps link. It works in production enviroment for half a year now, and gives no problem.

Note:
for dialingout it’s better to use a dialplan like this:


dialout_exten:
exten => 111,1,Set(CALLERID(ALL)=123456789)
exten => 111,2,Dial(zap/g1/0987654321)
exten => 111,3,ZapRas(debug|64000|noauth|netmask|255.255.255.0|192.168.10.1:192.168.10.2)

and in zapata.conf (on calling side):

  • keep at LEAST two unused channels for Voice
  • keep at LEAST one data channel
  • as effect of this settings for ZapRAS there could be any number of open B channels starting from 1 and ending in (30-2) 28 (on E1 link).
  • note there is the “0” before dialled number and no “0” in callerid

minunused=2
minidle=1
idleext=111@dialout_exten

On “server” side you need only to receive incoming call.

Return codes

Always returns -1.

See Also

Notes

  • The stuff in zapata.conf, idledial, etc., is only for the client side.
  • On the server side, note that ZapRAS does NOT automatically answer the line. You must add an Answer before ZapRAS in your extensions.conf, i.e.:

exten => 9022,1,Answer
exten => 9022,2,ZapRas(debug|64000|noauth|netmask|255.255.255.0|192.168.10.2:192.168.10.1)

  • When connecting two asterisk boxes, remember to add (on both sides) some restart-watchdog script which kills all pppd and maybe even asterisk PIDs when no ping response goes for 15-30 seconds.
  • On the Client side use a dialplan entry, and as the very first thing remeber to set CALLERID, many Telco providers won’t allow connection w/o this.
  • I was able to achive a stable link with using 30 B channels, witch provided ~200 KBps bandwith (testet with ftp).
  • After tests remeber to add somekind of PAP/CHAP authorization to PPP. The compression is no need when using a ~30 channels. But when keeping only one B somekind of ppp compression would be good thing to have.
  • disadvantage of asterisk to RAS servers/routers you always request a 0x00 SPEECH call (so called Data-Over-Voice) and use data on it, you can’t pass a ‘bearer capability’ request for “transparent data”, and you can’t add 5-ascii character name to link (it could be used to distgundish from many (multi-)ppp-links when only one DDI number is avalible, naming one call “prima” and other “deman” would be uselfull ). So basically your host/telco provider does consider your call as normal voice call.
  • Billing info: remeber that you are calling some numer, in Poland you cold have buissness group (i.e. say 2 B channels without charching for traffice between them). And charching for call could be expensive.

 

See also


Asterisk | Applications | Functions | Variables | Expressions | Asterisk FAQ


Article Reviews

Write a Review

Your email address will not be published. Required fields are marked *

Required Field. Minimum 5 characters.

Required Field. Minimum 5 characters, maximum 50.

Required field.There is an error with this field.

Required Field.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

There are no reviews for this article. Be the first one to write a review.

Related Posts:

Get 3CX - Absolutely Free!
Link up your team and customers Phone System Live Chat Video Conferencing

Hosted or Self-managed. Up to 10 users free forever. No credit card. Try risk free.

3CX
A 3CX Account with that email already exists. You will be redirected to the Customer Portal to sign in or reset your password if you've forgotten it.