Menu

Tree [febbcb] master /
 History

HTTPS access


File Date Author Commit
 SVG 2009-11-16 Oliver Nittka Oliver Nittka [70887e] Using my own artwork now.
 debian 2009-12-29 Oliver Nittka Oliver Nittka [d8ceb0] Merge branch 'master' into gtk2.12
 fr_FR 2011-05-05 jmarc jmarc [97211f] init new files
 plugins 2009-12-29 Oliver Nittka Oliver Nittka [d8ceb0] Merge branch 'master' into gtk2.12
 website 2009-12-07 Oliver Nittka Oliver Nittka [ff99df] Merge branch 'master' into gtk2.12
 .gitattributes 2010-01-07 Oliver Nittka Oliver Nittka [aa4a75] don't include directory "website" in archive
 .gitignore 2009-12-28 Oliver Nittka Oliver Nittka [12a2eb] Merge branch 'master' into gtk2.12
 COPYING 2009-11-17 Oliver Nittka Oliver Nittka [d90e4e] Added README and COPYING, add GPL note and pyth...
 Doxyfile 2009-11-27 Oliver Nittka Oliver Nittka [43569e] Merge branch 'master' into new-gtk2.12
 README 2009-12-11 Oliver Nittka Oliver Nittka [5d80e6] Merge branch 'master' into gtk2.12
 abcti 2009-12-11 Oliver Nittka Oliver Nittka [5d80e6] Merge branch 'master' into gtk2.12
 abcti-gtk.nsi 2011-05-05 jmarc jmarc [8c126f] new windows packager
 abcti-logo-16.png 2009-12-28 Oliver Nittka Oliver Nittka [12a2eb] Merge branch 'master' into gtk2.12
 abcti-logo-32.png 2009-12-28 Oliver Nittka Oliver Nittka [12a2eb] Merge branch 'master' into gtk2.12
 abcti-logo.png 2009-11-16 Oliver Nittka Oliver Nittka [70887e] Using my own artwork now.
 abcti-with-gtk.nsi 2009-12-29 Oliver Nittka Oliver Nittka [d8ceb0] Merge branch 'master' into gtk2.12
 abcti-without-gtk.nsi 2009-12-29 Oliver Nittka Oliver Nittka [d8ceb0] Merge branch 'master' into gtk2.12
 abcti.desktop 2011-05-05 jmarc jmarc [97211f] init new files
 abcti.ico 2009-12-07 Oliver Nittka Oliver Nittka [ff99df] Merge branch 'master' into gtk2.12
 abcti.py 2011-05-05 Jean-Marc PORCHEROT Jean-Marc PORCHEROT [f41d48] Many evolutions here. I have to write explanati...
 abcti_config.py 2011-05-05 Jean-Marc PORCHEROT Jean-Marc PORCHEROT [f41d48] Many evolutions here. I have to write explanati...
 abcti_edit_phoneentry.py 2009-12-07 Oliver Nittka Oliver Nittka [ff99df] Merge branch 'master' into gtk2.12
 abcti_exception.py 2009-11-06 Oliver Nittka Oliver Nittka [820cf9] initial checkin
 abcti_global_hotkey_linux.py 2009-12-07 Oliver Nittka Oliver Nittka [ff99df] Merge branch 'master' into gtk2.12
 abcti_global_hotkey_win32.py 2009-12-07 Oliver Nittka Oliver Nittka [ff99df] Merge branch 'master' into gtk2.12
 abcti_globals.py 2011-05-05 Jean-Marc PORCHEROT Jean-Marc PORCHEROT [f41d48] Many evolutions here. I have to write explanati...
 abcti_hardphone.py 2011-06-14 Jean-Marc PORCHEROT Jean-Marc PORCHEROT [a1c5e4] managing outgoing call - no popup message and a...
 abcti_history.py 2011-05-05 Jean-Marc PORCHEROT Jean-Marc PORCHEROT [f41d48] Many evolutions here. I have to write explanati...
 abcti_log.py 2011-05-05 Jean-Marc PORCHEROT Jean-Marc PORCHEROT [f41d48] Many evolutions here. I have to write explanati...
 abcti_login.py 2011-06-14 Jean-Marc PORCHEROT Jean-Marc PORCHEROT [a1c5e4] managing outgoing call - no popup message and a...
 abcti_main_wnd.py 2011-06-14 Jean-Marc PORCHEROT Jean-Marc PORCHEROT [a1c5e4] managing outgoing call - no popup message and a...
 abcti_manager.py 2012-08-14 Jean-Marc Porcherot Jean-Marc Porcherot [febbcb] manager method pause moved
 abcti_options.py 2011-05-05 Jean-Marc PORCHEROT Jean-Marc PORCHEROT [f41d48] Many evolutions here. I have to write explanati...
 abcti_phonebook.py 2009-12-07 Oliver Nittka Oliver Nittka [ff99df] Merge branch 'master' into gtk2.12
 abcti_search.py 2011-06-14 Jean-Marc PORCHEROT Jean-Marc PORCHEROT [a1c5e4] managing outgoing call - no popup message and a...
 abcti_settings.py 2011-06-14 Jean-Marc PORCHEROT Jean-Marc PORCHEROT [a1c5e4] managing outgoing call - no popup message and a...
 abcti_shortcut.py 2011-05-05 Jean-Marc PORCHEROT Jean-Marc PORCHEROT [f41d48] Many evolutions here. I have to write explanati...
 abcti_sockserver 2011-05-05 jmarc jmarc [97211f] init new files
 abcti_sockserver.py 2011-05-05 jmarc jmarc [97211f] init new files
 abcti_statusicon.py 2011-06-14 Jean-Marc PORCHEROT Jean-Marc PORCHEROT [a1c5e4] managing outgoing call - no popup message and a...
 about-installer.glade 2009-12-29 Oliver Nittka Oliver Nittka [d8ceb0] Merge branch 'master' into gtk2.12
 about.glade 2009-12-29 Oliver Nittka Oliver Nittka [d8ceb0] Merge branch 'master' into gtk2.12
 call-incoming-nok.png 2009-11-15 Oliver Nittka Oliver Nittka [f6aa91] History works
 call-incoming-ok.png 2009-11-15 Oliver Nittka Oliver Nittka [f6aa91] History works
 call-outgoing-nok.png 2009-11-15 Oliver Nittka Oliver Nittka [f6aa91] History works
 call-outgoing-ok.png 2009-11-15 Oliver Nittka Oliver Nittka [f6aa91] History works
 engines.glade 2011-05-05 jmarc jmarc [97211f] init new files
 handset_hungup.png 2009-11-16 Oliver Nittka Oliver Nittka [70887e] Using my own artwork now.
 handset_pickedup.png 2009-11-16 Oliver Nittka Oliver Nittka [70887e] Using my own artwork now.
 handset_ringing.gif 2009-11-16 Oliver Nittka Oliver Nittka [70887e] Using my own artwork now.
 home.png 2009-11-27 Oliver Nittka Oliver Nittka [43569e] Merge branch 'master' into new-gtk2.12
 keyboard.png 2009-11-09 Oliver Nittka Oliver Nittka [20bab7] convert SVG files to PNG (win32 GTK seems to be...
 login.glade 2011-05-05 Jean-Marc PORCHEROT Jean-Marc PORCHEROT [f41d48] Many evolutions here. I have to write explanati...
 main_wnd.glade 2011-05-05 Jean-Marc PORCHEROT Jean-Marc PORCHEROT [f41d48] Many evolutions here. I have to write explanati...
 mobile.png 2009-11-27 Oliver Nittka Oliver Nittka [43569e] Merge branch 'master' into new-gtk2.12
 numberdialog.glade 2009-12-29 Oliver Nittka Oliver Nittka [d8ceb0] Merge branch 'master' into gtk2.12
 phone_hungup.png 2009-11-16 Oliver Nittka Oliver Nittka [70887e] Using my own artwork now.
 phone_paused.png 2010-09-19 oly Nittka oly Nittka [177438] changes contributed by Jean-Marc PORCHEROT:
 phone_pickedup.png 2009-11-16 Oliver Nittka Oliver Nittka [70887e] Using my own artwork now.
 phone_ringing.gif 2009-11-16 Oliver Nittka Oliver Nittka [70887e] Using my own artwork now.
 phonebook_entry.glade 2009-12-29 Oliver Nittka Oliver Nittka [d8ceb0] Merge branch 'master' into gtk2.12
 phonebook_number.glade 2009-12-29 Oliver Nittka Oliver Nittka [d8ceb0] Merge branch 'master' into gtk2.12
 settings.glade 2011-05-05 Jean-Marc PORCHEROT Jean-Marc PORCHEROT [f41d48] Many evolutions here. I have to write explanati...
 setup.py 2011-05-05 Jean-Marc PORCHEROT Jean-Marc PORCHEROT [f41d48] Many evolutions here. I have to write explanati...
 setup_sockserver.py 2011-05-05 jmarc jmarc [97211f] init new files
 setup_win.py 2011-05-05 jmarc jmarc [97211f] init new files
 shortcut_settings.glade 2009-12-29 Oliver Nittka Oliver Nittka [d8ceb0] Merge branch 'master' into gtk2.12
 statusicon.glade 2010-09-19 oly Nittka oly Nittka [177438] changes contributed by Jean-Marc PORCHEROT:
 work.png 2009-11-27 Oliver Nittka Oliver Nittka [43569e] Merge branch 'master' into new-gtk2.12

Read Me

README for ABCTI

*** What is ABCTI?

ABCTI is an Asterisk CTI client, licensed under the GPL.
That means you can remote-control your phone through your PBX using ABCTI.

ABCTI talks directly to the Asterisk manager interface,
so no additional software is needed on the PBX.

ABCTI currently has the following features:

    * Dial out from your phone
    * Show incoming calls in the notification area/windows tray
    * Transfer a call to a set of predefined shortcuts
    * One-click dial a shortcut
    * Hangup your phone
    * History of incoming and outgoing calls

ABCTI is currently in alpha state.
Although the implemented features are pretty stable,
they are definitly in a "works-for-me" state (only tested on my own PBX yet).
(Please see *Debugging Asterisk Events* below)


*** Where to get

Get ABCTI from Sourceforge:
http://sourceforge.net/projects/abcti

Get the python code (and see Requirements below) for linux 
or get one of the installers for windows.

Installers for Debian/Ubuntu will follow (i promise :-)



*** Setting up the server 

On the Asterisk server, add a section to manager.conf that looks like:

[oly]
secret = XXX
permit = 192.168.178.0/255.255.255.0
read = call,originate
write = call,originate

You would then enter "oly" / "XXX" into ABCTI's settings dialog as
"Login name" / "Login secret"

(Read the Asterisk manual for a full explanation of the other items)


You need to configure a "hint" in extensions.conf in the same context where
your extension is defined.
E.g. you already have the following line in your extensions.conf:

 exten => 404,1,Dial(SIP/oly)      

then you would add (in the same context):

 exten => 404,hint,SIP/oly                          




*** Running ABCTI

Unpack ABCTI, change into directoy abcti (maybe copy "Asterisk" directory, see below).
On the command line, run:

./abcti

When run for the first time, it will prompt you for the settings.
The command line parameters "-g . -p plugins" are a temporary solution
until a debian package is in place. They are not needed under wndows.



*** Requirements
ABCTI needs python, pygtk and py-Asterisk.

Tested with python 2.6, pygtk 2.12 and py-Asterisk from SVN HEAD (as of 2009-11-11)

On Debian or Ubuntu, do:
apt-get install python python-gtk2 python-asterisk

python-asterisk is only available recently as a packege. If you're e.g. on Hardy,
get and unpack py-Asterisk manually as described below.

On Windows, if you dont't want or can not use the installers,
get python and pygtk from
http://www.python.org/
http://ftp.gnome.org/pub/GNOME/binaries/win32/glade3/3.6/glade3-3.6.7-with-GTK+.exe
http://ftp.gnome.org/pub/GNOME/binaries/win32/pygtk/2.12/pygtk-2.12.1-2.win32-py2.6.exe

For pyGTK, you also may need:
http://ftp.gnome.org/pub/GNOME/binaries/win32/pygobject/
http://ftp.gnome.org/pub/GNOME/binaries/win32/pycairo/

Also ABCTI makes use of the windows API, so you need this:
http://sourceforge.net/projects/pywin32/

Get py-Asterisk from http://py-asterisk.berlios.de, extract to a temporary directory and
copy the subdirectory "Asterisk" over to where you unpacked ABCTI (the directory where "abcti.py"
lives must have a subdirectory "Asterisk" where "Manager.py" etc. live)




*** Debugging Asterisk Events
Currently, ABCTI's event handling logic is heavily based on looking at the events
that my own PBX spits out (that's a HorstBox pro, running a patched version of Asterisk 1.2.18).

Making ABCTI more general will require input from you, the usersm from your Asterisk machines.
So if you want to help debugging, start ABCTI with the following options:

python abcti.py -d0 -f3 -l logfile

This writes a record of the events on te PBX into the logfile (beware: when connected to a heavily
used PBX, the logfile may grow rapidly!)
You may then look into the logfile and/or send it to me (you may want to remove sensitive data first,
however, no passwords etc. are stored) together with your configuration, extensions.conf, sip.conf etc.
to analyze it further and to improve ABCTI.



Enjoy,

(C) Oliver Nittka <oly@nittka.com>
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.