Konzolos (curses/ncurses-alapú) VOiP/SIP kliens

Fórumok

Sziasztok!

Szeretnék otthoni szerverből, ami amúgy is minden nap megy egy telefont csinálni a VOIPCheap szolgáltatót használva. A megoldáshoz viszont szükség lenne egy a SIP protokollt támogató VOiP kliensre, lehetőleg olyanra, ami szöveges felületű (curses/ncurses-re épülő) és jól konfigurálható, a vezérlése is és elég beleírni a telefonszámot, majd entert ütni, nem kell mindenféle parancsokkal bűvészkedni. Létezik ilyen a GNOME-os/KDE-s bloatware-eken kívül?

Előre is kösz

Hozzászólások

Igen, valami ilyesmire gondoltam, de jól jönne, ha lenne azért egy kézenfekvőbb kezelőfelület (curses vagy ncurse), ahová csak telefonszámokat kell beírni, hívásokat indítani és válaszolni. A helyzet az, hogy nincs monitor a géphez és úgy kéne működnie ennek a cuccnak, mintha egy igazi telefon volna, csak éppen a billentyűzeten lennének a nyomógombok.

Na ez már talán közelebb van a megoldáshoz. Letöltöttem a pjproject-et, leforgattam, nyomtam make install-t is, de arról az ég világon semmit nem írnak sehol, hogy a pjsua-t hogy kell leforgatni, mert hogy alapból nem fordul a project-tel együtt, az biztos (azok csak a library-k). Végül rájöttem, hogy a bin/pjsua-i586-pc-linux-gnu -ba kerül. Namindegy, azért érdekes.

Jelenleg az a helyzet, hogy VOIPCheap-pel szeretném használni a PJSUA-t. Bekonfirguráltam úgy, ahogy a honlapján le van írva, de nem működik. Felcsatlakozik, még hívást is lehet indítani, de nem jön rá válasz. Az itthoni telefont próbálom hívni vele, de "Request timeout"-tal eldobja a kérést és nem csörög. Persze a VOIPCheap hivatalos kliensével minden jól működik.

Így indítom (egyelőre a hanggal még valami gány van, ezért null audiot használok):

$ ./pjsua-i586-pc-linux-gnu --id sip:hajbazer@sip.voipcheap.com --registrar sip:sip.voipcheap.com --realm "*" --username hajbazer --password ****** --null-audio --stun-srv stun.voipcheap.com --contact "sip:sip.voipcheap.com:5060;transport=udp" --proxy sip:sip.voipcheap.com

A --contact "sip:sip.voipcheap.com:5060;transport=udp" opciót neten láttam, hogy mások így indítják, de se vele, se nélküle nem működik.

Ez történik:


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: sip:+361********@sip.voipcheap.com
 12:35:41.135   pjsua_call.c  Making call with acc #2 to sip:+361********@sip.voipcheap.com
 12:35:41.136  pjsua_media.c  Media index 0 selected for call 2
 12:35:41.203   pjsua_core.c  TX 1111 bytes Request msg INVITE/cseq=859 (tdta0x8b5bd98) to UDP 77.72.169.131:5060:
INVITE sip:+361********@sip.voipcheap.com SIP/2.0

Via: SIP/2.0/UDP 80.98.***.***:5060;rport;branch=z9hG4bKPjS8rUbSiH6adokSgenJGVVIei1j-zFwdj
Max-Forwards: 70
From: sip:hajbazer@sip.voipcheap.com;tag=36eThjfCb8qDHG3w4gd8fWX6K8RZPO8L
To: sip:+361********@sip.voipcheap.com
Contact: <sip:hajbazer@80.98.***.***:5060>
Call-ID: c0clFrTKpoajLOIQ.a.4cHfJswgQGn0O
CSeq: 859 INVITE
Allow: PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, SUBSCRIBE, NOTIFY, REFER, MESSAGE, OPTIONS
Supported: replaces, 100rel, timer, norefersub
Session-Expires: 1800
Min-SE: 90
User-Agent: PJSUA v1.5.5/i586-pc-linux-gnu
Content-Type: application/sdp
Content-Length:   459

v=0
o=- 3479970941 3479970941 IN IP4 80.98.***.***
s=pjmedia
c=IN IP4 80.98.***.***
t=0 0
a=X-nat:0
m=audio 4004 RTP/AVP 103 102 104 113 3 0 8 9 101
a=rtcp:4005 IN IP4 80.98.***.***
a=rtpmap:103 speex/16000
a=rtpmap:102 speex/8000
a=rtpmap:104 speex/32000
a=rtpmap:113 iLBC/8000
a=fmtp:113 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

--end msg--
 12:35:41.219    pjsua_app.c  Call 2 state changed to CALLING
>>>  12:35:41.276   pjsua_core.c  RX 555 bytes Response msg 401/INVITE/cseq=859 (rdata0x8b4a934) from UDP 77.72.169.131:5060:
SIP/2.0 401 Unauthorized

Via: SIP/2.0/UDP 80.98.***.***:5060;rport;branch=z9hG4bKPjS8rUbSiH6adokSgenJGVVIei1j-zFwdj
From: <sip:hajbazer@sip.voipcheap.com>;tag=36eThjfCb8qDHG3w4gd8fWX6K8RZPO8L
To: <sip:+361********@sip.voipcheap.com>
Contact: sip:+361********@77.72.169.131:5060
Call-ID: c0clFrTKpoajLOIQ.a.4cHfJswgQGn0O
CSeq: 859 INVITE
Server: (Very nice Sip Registrar/Proxy Server)
Allow: ACK,BYE,CANCEL,INVITE,REGISTER,OPTIONS,INFO,MESSAGE
WWW-Authenticate: Digest realm="sip.voipcheap.com",nonce="1704986046",algorithm=MD5
Content-Length: 0

--end msg--
 12:35:41.277   pjsua_core.c  TX 350 bytes Request msg ACK/cseq=859 (tdta0x8b5e550) to UDP 77.72.169.131:5060:
ACK sip:+361********@sip.voipcheap.com SIP/2.0
Via: SIP/2.0/UDP 80.98.***.***:5060;rport;branch=z9hG4bKPjS8rUbSiH6adokSgenJGVVIei1j-zFwdj
Max-Forwards: 70
From: sip:hajbazer@sip.voipcheap.com;tag=36eThjfCb8qDHG3w4gd8fWX6K8RZPO8L
To: sip:+361********@sip.voipcheap.com
Call-ID: c0clFrTKpoajLOIQ.a.4cHfJswgQGn0O
CSeq: 859 ACK
Content-Length:  0

--end msg--
 12:35:41.279  tcpc0x8b5fd74  TCP client transport created
 12:35:41.280  tcpc0x8b5fd74  TCP transport 80.98.***.***:43725 is connecting to 77.72.169.131:5060...
 12:35:41.281   pjsua_core.c  TX 1303 bytes Request msg INVITE/cseq=860 (tdta0x8b5bd98) to tcp 77.72.169.131:5060:
INVITE sip:+361********@sip.voipcheap.com SIP/2.0
Via: SIP/2.0/TCP 80.98.***.***:43725;rport;branch=z9hG4bKPjbjQm2zv2V-nMdRV8MOK79oDkVulae5Ny
Max-Forwards: 70
From: sip:hajbazer@sip.voipcheap.com;tag=36eThjfCb8qDHG3w4gd8fWX6K8RZPO8L
To: sip:+361********@sip.voipcheap.com
Contact: <sip:hajbazer@80.98.***.***:5060>
Call-ID: c0clFrTKpoajLOIQ.a.4cHfJswgQGn0O
CSeq: 860 INVITE
Allow: PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, SUBSCRIBE, NOTIFY, REFER, MESSAGE, OPTIONS
Supported: replaces, 100rel, timer, norefersub
Session-Expires: 1800
Min-SE: 90
User-Agent: PJSUA v1.5.5/i586-pc-linux-gnu
Authorization: Digest username="hajbazer", realm="sip.voipcheap.com", nonce="1704986046", uri="sip:+361********@sip.voipcheap.com", response="fe758b628d5693e6af4e6e9045a8aad2", algorithm=MD5
Content-Type: application/sdp
Content-Length:   459

v=0
o=- 3479970941 3479970941 IN IP4 80.98.***.***
s=pjmedia
c=IN IP4 80.98.***.***
t=0 0
a=X-nat:0
m=audio 4004 RTP/AVP 103 102 104 113 3 0 8 9 101
a=rtcp:4005 IN IP4 80.98.***.***
a=rtpmap:103 speex/16000
a=rtpmap:102 speex/8000
a=rtpmap:104 speex/32000
a=rtpmap:113 iLBC/8000
a=fmtp:113 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

--end msg--
 12:35:41.282    pjsua_app.c  Call 2 state changed to CALLING
 12:36:13.283    pjsua_app.c  Call 2 is DISCONNECTED [reason=408 (Request Timeout)]
 12:36:13.283    pjsua_app.c  
  [DISCONNCTD] To: sip:+361********@sip.voipcheap.com

    Call time: 00h:00m:00s, 1st res in 32148 ms, conn in 0ms
    SRTP status: Not active Crypto-suite: (null)
 12:36:14.286  pjsua_media.c  Closing sound device after idle for 1 seconds
 12:36:14.286  pjsua_media.c  Closing null sound device..

Ez esetben szeretnék segítséget kérni tőled. :)

A VoipCheap tudomásom szerint ugyanolyan Betamax szolgáltató mint pl. a VoipDiscount és társai.
Egy ilyen címet próbáltam beállítani többek között Ekiga alá, de legjobb eset az volt, amikor a hívás felépült, minden működött, leszámítva az egyik irányt. (Talán a céltelefonban hallatszott zagyvaság és az ekigából rendesen a beszéd, vagy fordítva...)
Ezt leszámítva jó volt, csak éppen így használhatatlan... :(

Elvileg az Ekiga-ból hiányzott valami codec, amit a szolgáltató használ(na).

Van rá megoldás?

/Amúgy keverem a Twinkle és Ekiga programot. Egyikből a fenti jelenséget tapasztaltam, a másikból nem tudtam hívást kezdeményezni, talán acces denied volt a hibaüzenet, de a hálózatra beregisztrált és más szolgáltatóval egyik programnak sem volt gondja.../