User Tools

Site Tools


voip

This is an old revision of the document!


Da VoIP je moguć sa OpenBSD-ijem uključujući i video konferencije. Za razliku od drugih operativnih sistema Skype ne radi na OpenBSD-iju. Zapravo radi ali je neupotrebljiv za VoIP jer ne postoji način da se Linux-ov /dev/dsp natera da komunicira sa /dev/audio tako da ga je moguće koristiti samo za chat. Za napredne korisnike koji imaju staticku IP adresu VoIP na OpenBSD-iju je trivijalan koriscenjem ssh i ugradjenog audio servera (aucat).

Na zalost velika je verovatnoca da vas sagovornik (baba, strina) nece imati staticku adresu pa ce vam za razgovor trebati SIP proxy server. Ja licno imam naloge na dva servera Ekiga i iptel.org. Pored naloga na ovim serverima za razgovor ce vam biti potreban client. Nas izbor ja naravno command line interface VoIP client pjsua. Da bi mogli da VoIP-ujeta na OpenBSD-iju nikakva posebna konfiguracija audio servera vam nije neophodna. Sve radio sto bi se reklo out of box osim ako necete da pricate na telefonu i slusate muziku u isto vreme. U tom slucaju cete morate da startujete audio server.

$aucat -l

Cinjenica da vecina korisnika koristi svoje kompjutere na LAN-u i da je verovatno da vas router radi nekakav NAT takodje je nebitna. Nikakva konfiguracija router-a nije neophodna. Jedino razocarenje je da cete svoja PF pravila morati da oslabite jer SIP izgleda poput FTP. Inicijalni kontakt se radi na UDP port-i 5060 ali se transfer vrsi na razno raznim portama u zavisnosti od brojeva koje birate. Moracete da imate u pf.conf nesto tipa

pass            # to establish keep-state

kada koristite VoIP.

Najvazniji deo je konfiguracija pjsua da radi sa Ekiginim ili iptel.org serverom. Evo konfiguracionih fajlova u kojima doslovce mozete da zamenite korisniko ime i password sa svojim i da pricate.

$more .pjsua.ekiga
# sample config file for Ekiga, through NAT
--clock-rate=44100
--registrar=sip:ekiga.net
--id=sip:vase_korisniko_ime@ekiga.net
--realm=*
--username=vase_korisniko_ime
--password=vas_password

i za iptel.org slicno

$more .pjsua.iptel
# sample config file for iptel.org, through NAT
--clock-rate=44100
--registrar=sip:iptel.org
--id=sip:vase_korisniko_ime@iptel.org
--realm=*
--username=vase_korisniko_ime
--password=vas_password

Sada startujte klient recimo sa iptel.org account-om

pjsua --config-file .pjsua.iptel

Posle ukucavanja Enter dobicete sledeci command window.

+=============================================================================+
|       Call Commands:         |   Buddy, IM & Presence:  |     Account:      |
|                              |                          |                   |
|  m  Make new call            | +b  Add new buddy       .| +a  Add new accnt |
|  M  Make multiple calls      | -b  Delete buddy         | -a  Delete accnt. |
|  a  Answer call              |  i  Send IM              | !a  Modify accnt. |
|  h  Hangup call  (ha=all)    |  s  Subscribe presence   | rr  (Re-)register |
|  H  Hold call                |  u  Unsubscribe presence | ru  Unregister    |
|  v  re-inVite (release hold) |  t  ToGgle Online status |  >  Cycle next ac.|
|  U  send UPDATE              |  T  Set online status    |  <  Cycle prev ac.|
| ],[ Select next/prev call    +--------------------------+-------------------+
|  x  Xfer call                |      Media Commands:     |  Status & Config: |
|  X  Xfer with Replaces       |                          |                   |
|  #  Send RFC 2833 DTMF       | cl  List ports           |  d  Dump status   |
|  *  Send DTMF with INFO      | cc  Connect port         | dd  Dump detailed |
| dq  Dump curr. call quality  | cd  Disconnect port      | dc  Dump config   |
|                              |  V  Adjust audio Volume  |  f  Save config   |
|  S  Send arbitrary REQUEST   | Cp  Codec priorities     |  f  Save config   |
+------------------------------+--------------------------+-------------------+
|  q  QUIT   L  ReLoad   sleep MS   echo [0|1|txt]     n: detect NAT type     |
+=============================================================================+
You have 0 active call
>>> 

Ostaje vam jos da telefonirate :-). Ajmo telefonirati echo service-u bas kao i Skype

>>> m
(You currently have 0 calls)
Buddy list:
 -none-

Choices:
   0         For current dialog.
  -1         All 0 buddies in buddy list
  [1 - 0]    Select from buddy list
  URL        An URL
  <Enter>    Empty input (or 'q') to cancel
Make call: 

Dodajte

Make call: sip:*010600@ekiga.net

U istom trenutku bi trebali da cujete vasu sagovornicu :) i vidite nesto tipa

t 0 (default)
 23:28:46.948   conference.c  Port 0 (default) transmitting to port 3 (sip:*010600@ekiga.net)
 23:28:46.948    pjsua_app.c  Media for call 1 is active
 23:28:46.948   pjsua_core.c  TX 522 bytes Request msg ACK/cseq=19213 (tdta0x89135000) to UDP 86.64.162.35:5060:
ACK sip:600@72.51.47.59:5061 SIP/2.0
Via: SIP/2.0/UDP 192.168.2.2:5060;rport;branch=z9hG4bKPjREb8mml5UfL1taglP1Oas-27C9cZjJT5
Max-Forwards: 70
From: sip:ppunosevac@ekiga.net;tag=Fodbqp2tIT9wxRTlDe2ewLK-W8MonT77
To: sip:*010600@ekiga.net;tag=as507a14ed
Call-ID: 2ivSEtm.d4G99AYmcLRIS7JbzDJ05c8E
CSeq: 19213 ACK
Route: <sip:86.64.162.35;lr;did=90f.5093f8f4>
Route: <sip:64.34.162.221;lr;ftag=Fodbqp2tIT9wxRTlDe2ewLK-W8MonT77>
Route: <sip:72.51.47.59;lr;ftag=Fodbqp2tIT9wxRTlDe2ewLK-W8MonT77>
Content-Length:  0


--end msg--
 23:28:46.948    pjsua_app.c  Call 1 state changed to CONFIRMED
 23:28:47.584 strm0x89137974  VAD re-enabled
User-Agent: PJSUA v1.6/i386-unknown-openbsd4.8
Content-Type: application/sdp
Content-Length:   445

v=0
o=- 3518220550 3518220550 IN IP4 192.168.2.2
s=pjmedia
c=IN IP4 192.168.2.2
t=0 0
m=audio 4000 RTP/AVP 103 102 104 109 3 0 8 9 101
a=rtcp:4001 IN IP4 192.168.2.2
a=rtpmap:103 speex/16000
a=rtpmap:102 speex/8000
a=rtpmap:104 speex/32000
a=rtpmap:109 iLBC/8000
a=fmtp:109 mode=30
a=rtpmap:3 GSM/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:9 G722/8000
a=sendrecv
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15

Moja instalacija je bas proverena sa gornjim servisom. Ostaje vam da laprdate do mile volje i zaboravite na Skype.

Za ljude kojima je potrebno robusnije industrijsko rešenje napominjemo da Asterisk radi kao zmaj na OpenBSD-iju.

voip.1309231891.txt.gz · Last modified: 2017/04/28 10:25 (external edit)