VOIP calls with no softphone

Hi !
I’m doing a project where I would like to place,recive, record, etc SIP calls between two or more raspberry PI’s. The project needs to be as unintrusive as possible and easy to use.
So I am wondering if there is a possible way to place and recive calls without using an additional program like a softphone, as i would like to keep “extras” to a minimum.
If its possible to do this within the command line or via something like a desktopshortcut with just the asterisk applications and extentions.


If each machine is running Asterisk then you can originate calls between them from the Asterisk CLI by using the “channel originate” command. Usage below:

There are two ways to use this command. A call can be originated between a
channel and a specific application, or between a channel and an extension in
the dialplan. This is similar to call files or the manager originate action.
Calls originated with this command are given a timeout of 30 seconds.

Usage1: channel originate <tech/data> application [appdata]
This will originate a call between the specified channel tech/data and the
given application. Arguments to the application are optional. If the given
arguments to the application include spaces, all of the arguments to the
application need to be placed in quotation marks.

Usage2: channel originate <tech/data> extension [exten@][context]
This will originate a call between the specified channel tech/data and the
given extension. If no context is specified, the ‘default’ context will be
used. If no extension is given, the ‘s’ extension will be used.

For example, if you wanted Asterisk instance A to call Asterisk instance B and playback “hello world” then you could do something like the following:

 channel originate pjsip/101 application playback hello-world

Note, your pjsip/101 endpoint needs to be defined in your pjsip.conf file with it’s contact info pointing to Asterisk instance B.

If you don’t even want to create an endpoint for pjsip then allow guest i.e. all calls in Asterisk on Server B(your destination Rpi) and use originate on Server A (Your source Rpi) as below

Asterisk_A_CLI > originate sip/123456789@REPLACE_WITH_SERVER_B_IP application wait 5

–Satish Barot

Hi, and thanks for the reply !
This helps a little to understand how the process works, but I cant get my head around how I would use this solotion to acctually speak between the pi’s.
And it’s this situation that i’m in, not beeing able to work out a “talking” connection between Pi’s running Asterisk without using an “extra” program, as a softphone.
It seems to me that using this solution, I would have to create a file, record to it and send it instantanously to the recivier for it to me usful. This is a start , although that would a significant delay which is undesirable in my case.

If you want the audio to originate outside of Asterisk then you need some mechanism for capturing that audio, then use the appropriate signaling protocol to negotiate with Asterisk and then send that audio to Asterisk. Of course there are several ways to do this with a softphone being one of those ways.

One other option is you could try using one of the console channel drivers, chan_console, chan_alsa. These can capture audio and playback audio from/to your local soundcard (if you have one available). Once configured and loaded you can then do a “console dial” from the Asterisk CLI.

Is there a specific reason you are trying to use asterisk for this task?

It may be better to use something like a Voice Chat client such as Mumble.