Asterisk cmd PPPD

Synopsis

The PPPD command is for use with arbitrary digital (ISDN) connections. It provides RAS connection by using the (external) pppd program to permit you to use digital (ISDN) Asterisk channels as data channels to give you a PPP data link (perhaps an Internet connection). This command is not for use with analog lines; it does not provide a modem emulator. The PPPD application provides HDLC for using (only!) synchronous PPP.

The PPPD application has successfully been tested on Sirrix ISDN channels but may work on any other digital (ISDN) Asterisk channel as well.

Description

PPPD(path_to_pppd and_additonal_arguments)

Executes a RAS server using pppd on the calling channel. Your pppd must support synchronous mode. Give the path to pppd (usually /usr/sbin/pppd) and additonal parameters (like "call isdn") as parameter.

Starting points

  • PPP support in Kernel needed (included in standard Debian kernels)
  • Standard pppd is needed (no aditional patches needed; standard Debian ppp package works)
  • Download, compile and install the PPPD package with

wget http://www.sirrix.de/download/app_pppd-060822.tgz
tar xvfz app_pppd-060822.tgz
cd app_pppd
make clean
make dep
make
make install


  • Create a "peer"-file in /etc/ppp/peers. Example:
 
 ## local and remote IP
 192.168.99.1:192.168.99.2
 
 ## enable to see some debugging messages
 #debug
 
 ## we need the sync option
 sync
 
 ## we want PAP (we present ourself as dial-in server)
 +pap
 
 ## we don't need to authenticate ourself
 ## as we present ourself as dial-in server
 noauth


  • Add user and password to /etc/ppp/pap-secrets:

myusername * userpassword *


  • See pppd manual page (man 8 pppd) for more details about configuring the PP daemon.

Once you have pppd installed, 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 => 4711,1,Answer
exten => 4711,2,PPPD(/usr/sbin/pppd call isdn)
exten => 4711,3,Hangup



PPPD allows you to provide additional pppd arguments in the command argument. The line above will tell PPPD to use the "isdn"-peer configuration file in /etc/ppp/peers. You will want to figure out what pppd flags will work best for your installation.

The external PPP daemon is connected to the calling channel by using a PTY (/dev/pts/*) that is automatically allocated and freed by the PPPD application. The name of the device file is passed as additonal last parameter to the external PPP daemon.

Download


Notes

  • The PPPD application has successfully been tested on Sirrix ISDN channels but may work on any other digital (ISDN) Asterisk channel as well.
  • The PPPD application has successfully been tested to connect to a standard ISDN4Linux installation (ipppd).
  • The PPPD application has successfully been tested to connect to a standard CAPI channel installation, to provide internet or private connection. Be aware though that due to lack of documentation I wasn't able to hangup the channel manually (after the connection was up). Maybe through an exec dialplan directive in order to kill the PPPD process.

Compile errors on Asterisk 1.4

Because I got some compile errors I tried to fix them. You can find my patch here http://www.ddimension.net/app_pppd-060822-asterisk-1.4.patch.

See Also



Asterisk | Configuration | The Dialplan - extensions.conf | Dialplan Commands

Synopsis

The PPPD command is for use with arbitrary digital (ISDN) connections. It provides RAS connection by using the (external) pppd program to permit you to use digital (ISDN) Asterisk channels as data channels to give you a PPP data link (perhaps an Internet connection). This command is not for use with analog lines; it does not provide a modem emulator. The PPPD application provides HDLC for using (only!) synchronous PPP.

The PPPD application has successfully been tested on Sirrix ISDN channels but may work on any other digital (ISDN) Asterisk channel as well.

Description

PPPD(path_to_pppd and_additonal_arguments)

Executes a RAS server using pppd on the calling channel. Your pppd must support synchronous mode. Give the path to pppd (usually /usr/sbin/pppd) and additonal parameters (like "call isdn") as parameter.

Starting points

  • PPP support in Kernel needed (included in standard Debian kernels)
  • Standard pppd is needed (no aditional patches needed; standard Debian ppp package works)
  • Download, compile and install the PPPD package with

wget http://www.sirrix.de/download/app_pppd-060822.tgz
tar xvfz app_pppd-060822.tgz
cd app_pppd
make clean
make dep
make
make install


  • Create a "peer"-file in /etc/ppp/peers. Example:
 
 ## local and remote IP
 192.168.99.1:192.168.99.2
 
 ## enable to see some debugging messages
 #debug
 
 ## we need the sync option
 sync
 
 ## we want PAP (we present ourself as dial-in server)
 +pap
 
 ## we don't need to authenticate ourself
 ## as we present ourself as dial-in server
 noauth


  • Add user and password to /etc/ppp/pap-secrets:

myusername * userpassword *


  • See pppd manual page (man 8 pppd) for more details about configuring the PP daemon.

Once you have pppd installed, 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 => 4711,1,Answer
exten => 4711,2,PPPD(/usr/sbin/pppd call isdn)
exten => 4711,3,Hangup



PPPD allows you to provide additional pppd arguments in the command argument. The line above will tell PPPD to use the "isdn"-peer configuration file in /etc/ppp/peers. You will want to figure out what pppd flags will work best for your installation.

The external PPP daemon is connected to the calling channel by using a PTY (/dev/pts/*) that is automatically allocated and freed by the PPPD application. The name of the device file is passed as additonal last parameter to the external PPP daemon.

Download


Notes

  • The PPPD application has successfully been tested on Sirrix ISDN channels but may work on any other digital (ISDN) Asterisk channel as well.
  • The PPPD application has successfully been tested to connect to a standard ISDN4Linux installation (ipppd).
  • The PPPD application has successfully been tested to connect to a standard CAPI channel installation, to provide internet or private connection. Be aware though that due to lack of documentation I wasn't able to hangup the channel manually (after the connection was up). Maybe through an exec dialplan directive in order to kill the PPPD process.

Compile errors on Asterisk 1.4

Because I got some compile errors I tried to fix them. You can find my patch here http://www.ddimension.net/app_pppd-060822-asterisk-1.4.patch.

See Also



Asterisk | Configuration | The Dialplan - extensions.conf | Dialplan Commands
Created by: sirrix, Last modification: Sun 20 of May, 2012 (19:45 UTC) by admin
Please update this page with new information, just login and click on the "Edit" or "Discussion" tab. Get a free login here: Register Thanks! - Find us on Google+