Знакомство с софтфоном LinPhone

Skip to end of metadata
Go to start of metadata


Не помню уже что искал, но набрел на страничку  Yeaphone. Вот! Этого мне всегда не хватало - полноценно работающего с Linux USB телефона. Нет, я конечно же подключал самые разные USB телефоны… Но они выглядели как внешняя звуковая карта, так как кнопки на них не работали, а LCD выглядел неживым. Хоте нет! Какой-то девайс мне удалось запустить через usbhid, и я ловил нажатия его кнопок… Например, в консоли… Но как перенаправить их в отдельное устройство, я не докачал.

И вот, Yaphone:The goal of the Yeaphone project is to provide a user interface on a Yealink USB handset (USB-P1K / P1KH / P4K) for the [VoIP] software Linphone thus making a PC keyboard and monitor unneccessary.
Итак, есть двое неизвестных:

  • Какой-то Yalink USB телефон
  • ПО [LinPhone], которое к тому же и обладает консольной версией. С него и начнем.

Установка [LinPhone]

jaguar ~ # emerge -av linphone

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N    ] net-libs/libosip-3.1.0  641 kB
[ebuild  N    ] net-libs/ortp-0.15.0_p1  USE="ssl -debug -doc -examples -ipv6 -minimal -srtp" 486 kB
[ebuild  N    ] net-libs/libeXosip-3.1.0  479 kB
[ebuild  N    ] media-libs/speex-1.2_beta3_p2  USE="ogg sse" 1,024 kB
[ebuild  N    ] media-libs/mediastreamer-2.2.3_p1-r1  USE="X alsa gsm speex theora x264 -arts -debug -doc -examples -ilbc -ipv6 -jack -oss -portaudio -video" 634 kB
[ebuild  N    ] net-voip/linphone-3.1.1  USE="gtk ncurses nls -doc -ipv6 -video" LINGUAS="ru -cs -de -es -fr -hu -it -ja -nl -pl -pt_BR -sv" 7,627 kB

Total: 6 packages (6 new), Size of downloads: 10,888 kB

Would you like to merge these packages? [Yes/No]

No! Я не против SRTP, и iLBC и video тоже хочу!

jaguar ~ # euse -E srtp ilbc video video aesicm syslog
/etc/make.conf was modified, a backup copy has been placed at /etc/make.conf.euse_backup
jaguar ~ # emerge -av linphone

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N    ] net-libs/libosip-3.1.0  641 kB
[ebuild  N    ] net-libs/libsrtp-1.4.4-r1  USE="aesicm syslog -console -debug -doc" 492 kB
[ebuild  N    ] net-libs/ortp-0.15.0_p1  USE="srtp ssl -debug -doc -examples -ipv6 -minimal" 486 kB
[ebuild  N    ] net-libs/libeXosip-3.1.0  479 kB
[ebuild  N    ] media-libs/libsdl-1.2.13-r1  USE="X alsa audio dga directfb joystick video xinerama xv -aalib -arts -custom-cflags -esd -fbcon -ggi -libcaca -nas -opengl -oss -pulseaudio -svga" 3,295 kB
[ebuild  N    ] media-libs/speex-1.2_beta3_p2  USE="ogg sse" 1,024 kB
[ebuild  N    ] dev-libs/ilbc-rfc3951-0-r1  323 kB
[ebuild  N    ] media-libs/mediastreamer-2.2.3_p1-r1  USE="X alsa gsm ilbc speex theora video x264 -arts -debug -doc -examples -ipv6 -jack -oss -portaudio" 634 kB
[ebuild  N    ] media-plugins/mediastreamer-x264-1.1.7  321 kB
[ebuild  N    ] media-plugins/mediastreamer-ilbc-2.0.0  USE="-debug" 629 kB
[ebuild  N    ] net-voip/linphone-3.1.1  USE="gtk ncurses nls video -doc -ipv6" LINGUAS="ru -cs -de -es -fr -hu -it -ja -nl -pl -pt_BR -sv" 7,627 kB

Total: 11 packages (11 new), Size of downloads: 15,946 kB

Would you like to merge these packages? [Yes/No] Yes

Пошел "курить"… Вот так это делается в Gentoo.

Запуск [LinPhone]

 http://linphone.org/ - Linphone is an internet phone or Voice Over IP phone ([VoIP]).

Все интуитивно понятно. Что понравилось:

  • Это второй SIP софтфон под Linux с поддержкой Video! И если инициация и завершение вызова в Ekiga были похожи на разворот бульдозера, то linphone справляется с этим очень быстро.
  • При закрытии окна (клик на крестик) в режиме ожидания linphone свернулся в лоток. При закрытии окна в режиме разговора софтон свернулся в лоток, и завершил вызов. Пахнет продуманным юзабилити.
  • Включение / Отключение поддержки видео под рукой. Снова запах юзабилити. Что не нравилось в Ekiga, так это "утопленность" активации / деактивации поддержки видео. Мелочь.. Но нет ничего важнее мелочей!

Это первое, на что обратил внимание. Наверняка есть и косяки, но они всплывут позже 

Использование linphonec

[LinPhone] console version - наконец-то! Я помню свой восторг, когда перешел на использование Music Player Daemon (MPD) и конольного клиента MPC. Управлять с консоли проигрыванием музыки сперва было восхитительно, а потом вошло в привычку, такую же, как использование screen. И вот новый lifehack - консольный SIP клиент!

max@explorer ~ $ linphonec
Warning: UDP port 5060 seems already in use ! Cannot initialize.
Ready
Warning: video is disabled in linphonec, use -V or -C or -D to enable.
linphonec> 

Уууу! Они не связали GUI и консольного клиента  В Music Player Daemon можно было запускать одновременно много клиентов, консольного, GUI, WEB, да какой угодно, а тут, похоже, два разных SIP клиента. Ладно, переварим. Кстати говоря, GUI linphone занимает 8.2M оперативной памяти, а linephonec - 1.5! Т.е., там где оперативка в дефиците, например, на 256M лэптопах, это будет решением.

max@explorer ~ $ linphonec
Ready
Warning: video is disabled in linphonec, use -V or -C or -D to enable.
linphonec> Registration on sip:sip.pbxware.ru successful.

Уф! Ну хоть базу эккаунтов и настройки они делят между собой.

linphonec> help
Commands are:
---------------------------
      help	Print commands help
      call	Call a SIP uri
 terminate	Terminate the current call
    answer	Answer a call
autoanswer	Show/set auto-answer mode
     proxy	Manage proxies
 soundcard	Manage soundcards
      ipv6	Use IPV6
     refer	Refer the current call to the specified destination.
       nat	Set nat address
      stun	Set stun server address
  firewall	Set firewall policy
 call-logs	Calls history
    friend	Manage friends
      play	play from a wav file
    record	record to a wav file
      quit	Exit linphonec
  register	Register in one line to a proxy
unregister	Unregister from default proxy
  duration	Print duration in seconds of the last call.
    status	Print various status information
---------------------------
Type 'help <command>' for more details.

Не Asterisk show commands конечно, но поглядим….

linphonec> proxy
Syntax error.
'proxy list' : list all proxy setups.
'proxy add' : add a new proxy setup.
'proxy remove <index>' : remove proxy setup with number index.
'proxy use <index>' : use proxy with number index as default proxy.
'proxy unuse' : don't use a default proxy.
'proxy show <index>' : show configuration and status of the proxy numbered by index.
'proxy show default' : show configuration and status of the default proxy.

linphonec> proxy list
****** Proxy 0 - this is the default one - *******
sip address: sip:sip.pbxware.ru
route:
identity: sip:700@sip.pbxware.ru
register: yes
expires: 600
registered: yes
linphonec>

Управление проксями из CLI. Good.

linphonec> call 710
Contacting sip:710@sip.pbxware.ru
linphonec> linphonec> 

Пошел вызов!

linphonec> linphonec> terminate
Call ended
linphonec> linphonec> Request Cancelled.
linphonec> 

Вызов завершен 

linphonec> call-logs
Outgoing call at Sat Jul 25 14:38:29 2009
From: <sip:700@sip.pbxware.ru>
To: <sip:710@sip.pbxware.ru>
Status: aborted
Duration: 0 mn 31 sec

linphonec> 

Истрия звонков 

Так, а как насчет отладки?

max@explorer ~ $ linphonec --help
ERROR: bad arguments

usage: linphonec [-c file] [-s sipaddr] [-a] [-V] [-d level ] [-l logfile]
       linphonec -v

  -c  file             specify path of configuration file.
  -d  level            be verbose. 0 is no output. 6 is all output
  -l  logfile          specify the log file for your SIP phone
  -s  sipaddress       specify the sip call to do at startup
  -a                   enable auto answering for incoming calls
  -V                   enable video features globally (disabled by default)
  -C                   enable video capture only (disabled by default)
  -D                   enable video display only (disabled by default)
  -S                   show general state messages (disabled by default)
  -v or --version      display version and exits.
max@explorer ~ $

Понятно… Проверим….

max@explorer ~ $ linphonec -d 6 -S

Ой. Да, хватает отладочной информации….

На этом перввя серия обзора с софтфоном Linphone завершается. Впереди как минимум две серии:

  • Игры с linphonecsh - [LinPhone] Console Shell. Чую, еще та штучка. Вот что пишут разработчики на  своем сайте:
    What could be the applications of this tool ? For example:
       * run VoIP calls from scripts
       * from web cgi pages
       * from javascript in a browser window...
  • Дайте подумать… Это же callback для WEB сайта без размещения там Asterisk. не нужны call файлы или взаимодействие через AMI. Просто зарегистрировать клиента, и выдавать ему номер для контакта… Чудесно.
  • Надо купить телефон Yalink… Поглядим, что там у них  на сайте… Где-то я видел все эти телефоны… Ба! да это же товарищи из [SkypeMate], мы с ними на Cвязь-Экспоком'е 2009 познакомились! Ну-ка… Точно! Вот он - http://skypemate.ru/catalogue/?wid=4. Ну что же, значит, продолжение будет учень скоро!
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.