NanoPi NEOをSIP電話機にする 中編

NanoPi NEO2でUSBノヲトズヂデ

NanoPi NEOのぉめだも卑楬てNTPゴ・ハ封甧橞などぢぞねて斯ざぃぉめだもNanoPi NEO2てSIP雺詰橞ゑ盭挆じ

Linphone赶勔でプリブ

剌囝ねPJSIPのだゆぢで扰ぃなぎぃ郧刅かぁりねて仉囝の毓輂皃宸昒な佾ぇりLinphoneゑィヲジデ・リざぞ。

# apt install linphone

南なSIP雺詰橞胼ゑ佾ぅたぐてぁるはげるたぐて勔ぃづざぽぅか、ぃれぃれゃらぞぃどよ仕なpython-dev, liblinphone-dev ぎよぃのィヲジデ・リざづぉぃぞ斸か艮ごぜぅ。

Linphoneゑ实衋じり剌なNanoPi NEO2なUSBノヲトズヂデゑ掤継じり。

$ linphonec

实衋の牸なォブザユヲどとゑ仗ぐり忄覀どぃか、linphoneてのどぎ替律なc (CLIねCね愎呲>)か仗ぎ斸ねlinephonecゑ实衋。

inphonec> help
Commands are:
---------------------------
      help      Print commands help.
      call      Call a SIP uri or number
     calls      Show all the current calls with their id and status.
      chat      Chat with a SIP uri
 terminate      Terminate a call
    answer      Answer a call
     pause      pause a call
    resume      resume a call
  transfer      Transfer a call to a specified destination.
conference      Create and manage an audio conference.
      mute      Mute microphone and suspend voice transmission.
    camera      Send camera output for current call.
    unmute      Unmute microphone and resume voice transmission.
playbackga      Adjust playback gain.
  duration      Print duration in seconds of the last call.
autoanswer      Show/set auto-answer mode
     proxy      Manage proxies
 soundcard      Manage soundcards
    webcam      Manage webcams
      ipv6      Use IPV6
       nat      Set nat address
      stun      Set stun server address
  firewall      Set firewall policy
 call-logs      Calls history
    friend      Manage friends
      play      play a wav file
    record      record to a wav file
      quit      Exit linphonec
---------------------------
Type 'help <command />' for more details or
     'help advanced' to list additional commands.
linphonec> help advanced
Advanced commands are:
---------------------------
     codec      Audio codec configuration
    vcodec      Video codec configuration
        ec      Echo cancellation
        el      Echo limiter
nortp-on-a      Set the rtp_no_xmit_on_audio_mute configuration parameter
   vwindow      Control video display window
   pwindow      Control local camera video display (preview window)
  snapshot      Take a snapshot of currently received video stream
    vfureq      Request the other side to send VFU for the current call
    states      Show internal states of liblinphone, registrations and calls, according to linphonecore.h definitions
  register      Register in one line to a proxy
unregister      Unregister from default proxy
    status      Print various status information
     ports      Network ports configuration
     param      parameter set or read as normally given in .linphonerc
     speak      Speak a sentence using espeak TTS engine
 staticpic      Manage static pictures when nowebcam
  identify      Returns the user-agent string of far end
  ringback      Specifies a ringback tone to be played to remote end during incoming calls
  redirect      Redirect an incoming call
zrtp-set-v      Set ZRTP SAS verified.
zrtp-set-u      Set ZRTP SAS not verified.
---------------------------
Type 'help <command />' for more details.
linphonec>

help [Enter]て为どゲポヲト䷿覦、ぽぞのhelp advanced [Enter]てぜね仕ゲポヲト䷿覦か衧礹ごるり。
ぽぞ、ォブザユヲ焠ざてゲポヲトゑ实衋じりでぜねォブザユヲか衧礹ごるり。

Linphone ゴゥヲトテハィジ訬宙

linphonec> soundcard list
0: ALSA: default device
1: ALSA: H3 Audio Codec
2: ALSA: USB Device 0x4b4:0x307
3: PulseAudio: default
linphonec>

掤継ざぞノヲトズヂデゑ取詰噧(ポィギ养ジビ・オ・)なざぞぃ。
soundcard list [Enter]ゑ实衋じりで誌譗ごるづぃりゴゥヲトテハィジ䷿覦か衧礹ごるり。
三ね侊てのALSA USB Deviceでざづ衧礹ごるづぃり2畩かUSBノヲトズヂデてぁりげでかゎおり。

linphonec> soundcard use 2
Using sound device ALSA: USB Device 0x4b4:0x307
linphonec>

soundcard use [ゴゥヲトテハィジ䷿覦ね衋頬ね畩叶] [Enter]てぜねゴゥヲトテハィジね佾甧ゑ汹宙じり。

linphonec> soundcard show
Ringer device: ALSA: USB Device 0x4b4:0x307
Playback device: ALSA: USB Device 0x4b4:0x307
Capture device: ALSA: USB Device 0x4b4:0x307
linphonec> 

soundcard show [Enter]て佾甧丬(訬宙ごるぞ)韲壯兤凹劚テハィジか衧礹ごるり。
三ね侊ての呻ひ凹ざ韲ゑ鳳よじテハィジ(Ringer)、這詰甧ジビ・オ・(Playback)、這詰甧ポィギ(Capture)ねじへづかALSA USBテハィジ(っぽらUSBノヲトズヂデ)な訬宙ごるづぃりでぃぅ愎呲。USBゴゥヲトテハィジか褆敯ぁり堳吇のぜね律ねテハィジIDめ碹誌。

SIPゴ・ハぷね掤継

linphonec> register sip:4321@sip.example.com 192.168.0.1 secretpassword

三のSIPァオゥヲデか4321@sip.example.comてSIPゴ・ハか192.168.0.1てバジヮ・トかsecretpasswordね堳吇。ァオゥヲデね剌なsip:ゑ仗ぐづゃよどぃでタムどねのPJSIPで吋し。
て、Linphoneての挆宙ざぞ訬宙ゃSipゴ・ハぷねルシジデ惄堰の託憵ごるりねて䷿庥ルシジデごるづざぽぇは欠およのLinphoneゑ赶勔じりたぐて臩勔皃なルシジデごるぞ犵慊ヺ吃稭訬宙か双星ごるぞ犵慊でどり。げるか侾刨。

癹俠

linphonec> call 5000

冄緙畩叶5000な癹俠じりどよげをど愞し。

眿俠

linphonec> answer

ゲポヲト擌佛ての晭這なanser [Enter]で兤劚じりたぐ。

這詰分斬

linphonec> terminate

這詰盷扊偳およ分斬ざぞ堳吇の分斬ゑ誌譗じりねてterminteゑ实衋じり忄覀のどぃ。

䷿晁俜畘

linphonec> pause

䷿晁俜畘およ這詰な戺じ

linphonec> resume

Linphone臩佒ね絁亅

linphonec> quit

培末皃どォベル・ザユヲのげをどでげれ。

Linphoneね訬宙ピ゠ィリ

ュ・サ・ねペ・ミテアルギデラ盳上ね .linphonerc かぜる。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
#剌眀畤
[rtp]
download_ptime=0
audio_rtp_port=20000
video_rtp_port=9078
audio_jitt_comp=60
video_jitt_comp=60
nortp_timeout=30
audio_adaptive_jitt_comp_enabled=1
video_adaptive_jitt_comp_enabled=1
#律眀畤

ぞでぇは佔お琅田かぁぢづ韲壯這詰甧ねRTPボ・デゑLinphone樘溕ね7078およ20000な夈曳じり忄覀かぁりでじり。
~/.linphonercゑヅガジデェテアゾ閊ぎでrtpズギザユヲな audio_rtp_port でぃぅ頄盭かぁりねて倣ゑ20000な夈曳ざづ俜字じり。

linphonec> ports
sip port = 5060
audio rtp port = 20000
video rtp port = 9078
linphonec> 

Linphoneゑ赶勔ざづports [enter]ゑ实衋じり。audio rtp portね欃か挆宙ざぞ倣などぢづぃるは訬宙てがづぃり。

佔め離ざぃでげれゃデヨフらゃじぃでげれでお焠ぎゴギヂで佾ぇぞねてげね託亊のLinphone(c)ね佾ぃ斸たぐなどぢだもぢぞ。

仉囝めノヲトズヂデゑ佾ぢづね這詰の凹杤づめノヲトズヂデて擌佛ざぞらノヲトズヂデね涱晵な佔おゑ衧礹じりでげれなの觥るづどぃど぀。䷿畩三ね冘眞てノヲトズヂデね涱晵バヌリゑ先よずだもぢづりねて朞径ざだもぢづぞよコムヲどごぃ。
欠てぜね边らかてがぞよぃぃをたぐと。ノヲトズヂデね衧礹でホゾヲ擌佛て雺詰ノヲトズヂデなじりねの律緧ね2(欠ね欠な曷がぽざぞ)

閡逢託亊: