Wanna be a real VoIP nerd? :-) Let’s use Linphone from a command line!
1. ‘linphonec’ – enter the CLI.
2. ‘help’ – list available commands. Now it’s time to create a profile and connect to PBX
3. ‘help proxy’ – show help.
3.1. ‘proxy add’ – and press Enter. Answer to the appeared questions (just look at listing below):
linphonec> proxy add
Adding new proxy setup. Hit ^D to abort.
Enter proxy sip address: 10.1.51.13
Your identity for this proxy: sip:1301@10.1.51.13
Do you want to register on this proxy (yes/no): yes
Specify register expiration time in seconds (default is 600):
Expiration: 0 seconds
Specify route if needed:
No route specified.
--------------------------------------------
sip address:
route:
identity: sip:1301@10.1.51.13
register: yes
expires: 0
registered: no
--------------------------------------------
Accept the above proxy configuration (yes/no) ?: yes
Proxy added.
linphonec>
Password for 1301 on "pbx.secretcompany.com": MeGaSeCuRePaSs
linphonec> Unregistration on sip:10.1.51.13 done.
linphonec>
Yes, the message ‘Unregistration on sip:10.1.51.13 done.’ seems strange, but tcpdump shows that everything is OK.
3.2. Now we may list our proxies:
linphonec> proxy list
****** Proxy 0 - this is the default one - *******
sip address:
route:
identity: sip:1301@10.1.51.13
register: yes
expires: 0
registered: no
linphonec>
4. Let’s call via default proxy:
linphonec> call 79991234567
Establishing call id to <sip:79991234567@10.1.51.13>, assigned id 1
Contacting <sip:79991234567@10.1.51.13>
linphonec> Call 1 to <sip:79991234567@10.1.51.13> in progress.
linphonec> Remote ringing.
linphonec> Early media.
linphonec> Call 1 with <sip:79991234567@10.1.51.13> early media.
Call 1 with <sip:79991234567@10.1.51.13> connected.
Call answered by <sip:79991234567@10.1.51.13>.
linphonec> Media streams established with <sip:79991234567@10.1.51.13> for call 1 (audio).
We may look active calls with ‘calls’ command.
This is how it looks like while ringing:
linphonec> calls
Call states
Id | Destination | State | Flags |
------------------------------------------------------------------------
2 | sip:79991234567@10.1.51.13 | OutgoingEarlyMedia |
And this is how it looks like during an established call:
linphonec> calls
Call states
Id | Destination | State | Flags |
------------------------------------------------------------------------
2 | sip:79991234567@10.1.51.13 | StreamsRunning |
If you want to terminate a call, just type ‘terminate’ and press Enter.
If you have some troubles with sound and your PC is behind NAT, play with following parameters: ‘firewall’ and ‘nat’. Maybe you need ‘firewall none’ (it helped me at previous linphonec setup with one-way sound).
5. You may quit linphonec with ‘quit’ command. And these are history log, call log and configuration file in your home directory:
lexus@lexus:~$ ls -lh .linph*
-rw------- 1 lexus lexus 162 нояб. 24 15:10 .linphonec_history
-rw------- 1 lexus lexus 2,5K нояб. 24 15:10 .linphonerc
6. Read the documentation for more information.