Twinkle

Telephony

Source (link to git-repo or to original if based on someone elses unmodified work): Add the source-code for this project on opencode.net

3
Score 58.0%
Description:

Twinkle is a soft phone for your voice over IP and instant messaging communcations using the SIP protocol. You can use it for direct IP phone to IP phone communication or in a network using a SIP proxy to route your calls.
Some of the features offered are call waiting, call hold, 3-way conference call, call transfer, and call reject. It supports STUN or a statically configured public IP address for NAT traversal. When using STUN, it will send keep-alive packets to keep NAT bindings alive. It supports ZRTP for secure voice communication.
Last changelog:

10 years ago

- Integration with Diamondcard Worldwide Communication Service
(worldwide calls to regular and cell phones and SMS).
- Show number of calls and total call duration in call history.
- Show message size while typing an instant message.
- Show "referred by" party for an incoming transferred call in systray popup.
- Option to allow call transfer while consultation call is still in progress.
- Improved lock file checking. No more stale lock files.

Bug fixes:
----------
- Opening an IM attachment did not work anymore.

Build fixes:
------------
- Link with ncurses library

gohanz

13 years ago

A SlackWare TGz package with SlackBuild Script is Ready to DownLoad!!!

http://www.slacky.it/

http://www.slacky.it/index.php?option=com_remository&Itemid=1&func=fileinfo&filecatid=628&parent=category

Report

gohanz

13 years ago

With the last versione Twinkle have compilation problem with my SlackWare 10.2.
The compilation LOg:

make[3]: Entering directory `/tmp/twinkle-0.7/src/audio/gsm'
make[4]: Entering directory `/tmp/twinkle-0.7/src/audio/gsm'
make[4]: Nothing to be done for `install-exec-am'.
make[4]: Nothing to be done for `install-data-am'.
make[4]: Leaving directory `/tmp/twinkle-0.7/src/audio/gsm'
make[3]: Leaving directory `/tmp/twinkle-0.7/src/audio/gsm'
make[3]: Entering directory `/tmp/twinkle-0.7/src/audio'
if i486-slackware-linux-g++ -DHAVE_CONFIG_H -I. -I. -I../../src -I ../../src -I /usr/include -DQT_THREAD_SUPPORT -D_REENTRANT -O2 -march=i486 -mcpu=i686 -I/usr/include/cc++2 -D_GNU_SOURCE -MT twinkle_rtp_session.o -MD -MP -MF ".deps/twinkle_rtp_session.Tpo" -c -o twinkle_rtp_session.o twinkle_rtp_session.cpp; \
then mv -f ".deps/twinkle_rtp_session.Tpo" ".deps/twinkle_rtp_session.Po"; else rm -f ".deps/twinkle_rtp_session.Tpo"; exit 1; fi
In file included from /usr/include/ccrtp/queuebase.h:47,
from /usr/include/ccrtp/iqueue.h:47,
from /usr/include/ccrtp/ioqueue.h:47,
from /usr/include/ccrtp/cqueue.h:47,
from /usr/include/ccrtp/rtp.h:52,
from twinkle_rtp_session.h:5,
from twinkle_rtp_session.cpp:1:
/usr/include/cc++2/cc++/pointer.h:56: error: syntax error before `{' token
/usr/include/cc++2/cc++/pointer.h:59: error: syntax error before `*' token
/usr/include/cc++2/cc++/pointer.h: In function `void ost::ptrDetach()':
/usr/include/cc++2/cc++/pointer.h:63: error: `ptrCount' undeclared (first use
this function)
/usr/include/cc++2/cc++/pointer.h:63: error: (Each undeclared identifier is
reported only once for each function it appears in.)
/usr/include/cc++2/cc++/pointer.h:65: error: `ptrObject' undeclared (first use
this function)
/usr/include/cc++2/cc++/pointer.h: At global scope:
/usr/include/cc++2/cc++/pointer.h:72: error: syntax error before `public'
/usr/include/cc++2/cc++/pointer.h:76: error: `int*ost::ptrCount' used prior to
declaration
/usr/include/cc++2/cc++/pointer.h:76: error: invalid conversion from `int' to `
int*'
/usr/include/cc++2/cc++/pointer.h:79: error: `T' was not declared in this scope
/usr/include/cc++2/cc++/pointer.h:79: error: syntax error before `&' token
/usr/include/cc++2/cc++/pointer.h: In function `int Pointer(...)':
/usr/include/cc++2/cc++/pointer.h:81: error: `ptrObject' undeclared (first use
this function)
/usr/include/cc++2/cc++/pointer.h:81: error: `ref' undeclared (first use this
function)
/usr/include/cc++2/cc++/pointer.h:82: error: `ptrCount' undeclared (first use
this function)
/usr/include/cc++2/cc++/pointer.h: At global scope:
/usr/include/cc++2/cc++/pointer.h:87: error: destructors must be member
functions
/usr/include/cc++2/cc++/pointer.h:87: error: virtual outside class declaration
/usr/include/cc++2/cc++/pointer.h: In function `void Pointer()':
/usr/include/cc++2/cc++/pointer.h:88: error: `ptrDetach' undeclared (first use
this function)
/usr/include/cc++2/cc++/pointer.h: At global scope:
/usr/include/cc++2/cc++/pointer.h:92: error: syntax error before `&' token
/usr/include/cc++2/cc++/pointer.h:97: error: `int ptrObject' used prior to
declaration
/usr/include/cc++2/cc++/pointer.h:98: error: `int ptrCount' used prior to
declaration
/usr/include/cc++2/cc++/pointer.h:99: error: syntax error before `++' token
/usr/include/cc++2/cc++/pointer.h:104: error: syntax error before `&' token
/usr/include/cc++2/cc++/pointer.h:107: error: syntax error before `*' token
/usr/include/cc++2/cc++/pointer.h:110: error: syntax error before `*' token
/usr/include/cc++2/cc++/pointer.h:114: error: non-member function `bool
operator!()' cannot have `const' method qualifier
/usr/include/cc++2/cc++/pointer.h:114: error: `bool operator!()' must have an
argument of class or enumerated type
/usr/include/cc++2/cc++/pointer.h:114: error: `bool operator!()' must take
exactly one argument
/usr/include/cc++2/cc++/pointer.h: In function `bool operator!()':
/usr/include/cc++2/cc++/pointer.h:114: error: invalid type argument of `unary *
'
/usr/include/cc++2/cc++/pointer.h: At global scope:
/usr/include/cc++2/cc++/pointer.h:117: error: non-member function `int
operator++()' cannot have `const' method qualifier
/usr/include/cc++2/cc++/pointer.h:117: error: `int operator++()' must have an
argument of class or enumerated type
/usr/include/cc++2/cc++/pointer.h:117: error: `int operator++()' must take
either one or two arguments
/usr/include/cc++2/cc++/pointer.h: In function `int operator++()':
/usr/include/cc++2/cc++/pointer.h:117: error: invalid type argument of `unary *
'
/usr/include/cc++2/cc++/pointer.h: At global scope:
/usr/include/cc++2/cc++/pointer.h:120: error: non-member function `int
operator--()' cannot have `const' method qualifier
/usr/include/cc++2/cc++/pointer.h:120: error: `int operator--()' must have an
argument of class or enumerated type
/usr/include/cc++2/cc++/pointer.h:120: error: `int operator--()' must take
either one or two arguments
/usr/include/cc++2/cc++/pointer.h: In function `int operator--()':
/usr/include/cc++2/cc++/pointer.h:121: error: invalid type argument of `unary *
'
/usr/include/cc++2/cc++/pointer.h:123: error: invalid use of `this' in
non-member function
/usr/include/cc++2/cc++/pointer.h:126: error: invalid type argument of `unary *
'
/usr/include/cc++2/cc++/pointer.h: At global scope:
/usr/include/cc++2/cc++/pointer.h:128: error: syntax error before `}' token
In file included from /usr/include/ccrtp/iqueue.h:47,
from /usr/include/ccrtp/ioqueue.h:47,
from /usr/include/ccrtp/cqueue.h:47,
from /usr/include/ccrtp/rtp.h:52,
from twinkle_rtp_session.h:5,
from twinkle_rtp_session.cpp:1:
/usr/include/ccrtp/queuebase.h:158: error: 'Pointer' is used as a type, but is
not defined as a type.
/usr/include/ccrtp/queuebase.h: In member function `PayloadType
ost::AppDataUnit::getType() const':
/usr/include/ccrtp/queuebase.h:98: error: `datablock' undeclared (first use
this function)
make[3]: *** [twinkle_rtp_session.o] Error 1
make[3]: Leaving directory `/tmp/twinkle-0.7/src/audio'
make[2]: *** [install-recursive] Error 1
make[2]: Leaving directory `/tmp/twinkle-0.7/src/audio'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/tmp/twinkle-0.7/src'
make: *** [install-recursive] Error 1

Report

C

mfnboer

13 years ago

It seems the problem is with the commoncpp2 package. I don't know what exactly causes this problem. I still have commoncpp2-1.3.21 on my SuSE system.

Report

gohanz

13 years ago

I have the 1.3.26 version!

Report

C

mfnboer

13 years ago

This is a bug in commoncpp2-1.3.26 I have been told that this will be solved with 1.4.0 For now, you should use an older version if you want to compile Twinkle.

Report

MerlinTC

13 years ago

I have been trying Twinkle and it looks really nice but my problem is that it doesn't record anything. So my friend can't hear me but I can hear him.
I see that data is transmitted but it seems as if nothing is recorded.
I am using Alsa but also tried the OSS emulation as capture device but nothing seems to work.

In Skype recording works (using OSS) but I'd rather prefer to move away from Skype and OSS.

Any help would be appreciated.

Thanks

Report

C

mfnboer

13 years ago

There might be many causes for this. You say you see that data is transmitted. I assume you see that Twinkle sends out RTP packets. If it does, you might want to check if the RTP packets really contain sound (ehtereal can convert an RTP stream into an audio file).
If the outgoing RTP stream is fine, then your friend would have to check if he really receives your RTP stream. If your friend is behind a NAT then that might cause problems. NAT are a pain for SIP based VoIP. If it is the NAT device causing the problems, you'd have to check things like STUN or try static NAT bindings in the NAT device (STUN is not a fool proof solution).

HTH

Report

MerlinTC

13 years ago

I am behind a NAT but my friend is not. He is using a softphone in Windooze though.

I am using sipgate.de but it seems as if they don't have a number to test your account.

Do you know of any other SIP provider where I could test it? Are there any providers that have something like a loopback that I hear what I say?

Sorry if it's not really program specific anymore I am just trying to get it to work and find the cause of the problem.

Report

C

mfnboer

13 years ago

www.sipphone.com or www.freeworlddialup.com have echo services.

Report

andreasspeck

13 years ago

I was still undecided between KPhone and Twinkle - but the KAddressBook integration makes the difference... This is the right way to go.
Having more than one profile in use (as mentioned by someone else) would be the next feature I would like to see...

Thanks,
Andreas

Report

alex77s

13 years ago

I really like this softphone.
And I've promoted twinkle to be my unique softphone.

If it's possible, I've to request two features, for the next version:
1 - a software volume control for the ring tone (or to inteface the ring tone as an event in the KDE system notifications) and two hardware control for the speaker and microphone devices;
2 - the possibility to have multiple profile active (registered) at same time (I've many numbers, because in Italy some phone companies applies different rates in function of the caller and the called geographic distance).

Good job, and have a lot of fun!

Great thanks.

Report

C

mfnboer

13 years ago

I have them on my todo list.

Report

gohanz

13 years ago

A Slackware 10.2 TGZ Package is ready to download!!!

http://www.slacky.it


http://www.slacky.it/index.php?option=com_remository&Itemid=29&func=fileinfo&filecatid=628&parent=category

Report

pickyguy

14 years ago

The outgoing proxy parameter is ignored. Registration goes directly to registrar.

Report

C

mfnboer

14 years ago

Leave the registrar field empty and the REGISTER will go to the outbound proxy.

Report

pickyguy

14 years ago

I found the source of my confusion. Twinkle erroneously reports in its display area that the outgoing proxy and the registrar are the same. It did in fact send the registration request to the registrar as it should.

I also found two more problems. The first one concerns multiple contacts. When a registration is complete the registrar will report back with the contacts it has for the address of record. Twinkle apparently sees multiple contacts as no contacts and reports that registration failed with "Contact missing". Twinkle is happy if it is the only contact.

The third problem is audio cutoff and premature call release by the far end. I believe this occurs when the 200 OK has two URI's in its record-route. When the UA responds with ACK it should include a route header with the same URI's that were received in record-route. It seems to include only the most recent URI which is the outgoing proxy. The outgoing proxy will forward the ACK to the request URI and not to the next proxy.

I have had success with kphone. Kphone however is short on features and KDE integration. I wish you success with the twinkle project.

Report

C

mfnboer

14 years ago

I understand your confusion. Twinkle displays the next hop for the REGISTER which indeed isn't truly the registrar.

I have registered multiple endpoints without problems. Twinkle does support multiple contacts. In your case however it seems Twinkle does not recognize the contact header for some reason. Maybe a bug in the parser or a syntax error in the contact header.

I don't know why Twinkle seems to loose a Route header. It shouldn't.

If you want, can you send a SIP trace for the multiple contacts and Record-Route case to my e-mail address? Then I can have a look at it and if there is a bug, I can fix it.

Report

pickyguy

14 years ago

The intent is to have the registration request go to the registrar via the outgoing proxy. If the registrar is left blank, twinkle assumes the proxy is the registrar.

Report

C

mfnboer

14 years ago

The request-URI that Twinkle puts in the REGISTER is "sip:<domain>". This is the ultimate destination of the REGISTER. So it should be fine when Twinkle sends the REGISTER to the outbound proxy. The outbound proxy notices that the request-URI is not his address, and should forward the REGISTER based on the request-URI, i.e. resolve it to an IP address or use some iternal routing logic to find the next hop and then forward the REGISTER. This way your REGISTER will go via the outbound proxy to your registrar.

The registrar setting in the user profile is maybe a bit awkward. It allows you to send REGISTER messages to another host than your outbound proxy. I needed it once, but I don't think this will be a common situation.

Report

10 years ago

- Integration with Diamondcard Worldwide Communication Service
(worldwide calls to regular and cell phones and SMS).
- Show number of calls and total call duration in call history.
- Show message size while typing an instant message.
- Show "referred by" party for an incoming transferred call in systray popup.
- Option to allow call transfer while consultation call is still in progress.
- Improved lock file checking. No more stale lock files.

Bug fixes:
----------
- Opening an IM attachment did not work anymore.

Build fixes:
------------
- Link with ncurses library

12345678910
1
product-maker jmc88 Oct 26 2010 9 excellent
product-maker Base: 4 x 5.0 Ratings
jowi24
Feb 14 2010
floeschie
Feb 04 2010
aigan
Sep 24 2009
File (click to download) Version Description PackagetypeArchitectureRelease Channel Downloads Date Filesize DL OCS-Install MD5SUM
*Needs ocs-url or ocs-store to install things
Pling
0 Affiliates
Details
license
version
1.4.2
updated Feb 25 2009
added Jul 25 2005
downloads 24h
0
page views 24h 2
System Tags app software