CTI In General [Was: Re: [OGo-Users] OGo & Asterisk]
Adam Tauno Williams
users@opengroupware.org
Sat, 15 Dec 2007 18:08:04 -0500
> Been following this asterisk CTI dialer thread with great enthusiasm. I can
> really use this in the future and will start to build up a server next week
> when I get some time. Just a question. What are the plans for implementing
> missed calls and the resulting messages? Will these be accessible via the UI
> some how? I know that with asterisk you can do many things with message, just
> wondering what the current state of implementation is or in what direction
> are you moving?
I'm also interested in CTI, but not specifically Asterisk. Perhaps we
can extend the CTI capabilities of OGo in a generic fashion like the
current CTI support?
Currently the CTI support is via an 'interface' that just declares two
methods -
- (BOOL)canDialNumber:(NSString *)_number;
- (BOOL)dialNumber:(NSString *)_number fromDevice:(NSString *)_device;
- and just supports poking the PBX to make a call from within OGo.
If someone is developing Asterisk support for more features [preferably
as a bundle] I'd like to see it not welded to Asterisk but use some
interface to inter-operate with the "PBX"; that way it could also
potentially support other systems.
For instance, we have Nortel PBXs that use "Call Pilot" for messaging
and voice mail. "Call Pilot" offers a [really half-baked] Outlook
plugin that provides the ability to call contacts (like the OGo CTI) as
well as a [half-baked] "Unified Messaging". We've decoded /
reverse-engineered most of the functionality / protocol of that
solution. It is one of my projects for next year to try and make a CTI
bundle for OGo that supports Nortel systems.
<aside>Lucky for me the protocol is largely based on IMAP and uses a
bunch of X- commands to invoke PBXish operations - messaging as in
checking for new messages is straight IMAP.</aside>
Maybe we could agree on an extended CTI interface so we don't duplicate
work? (And perhaps this is more of a developers@ question).
Such as [this is off the cough] -
- (BOOL)newMesssages;
- (NSArray)listMessages;
- (UnifiedMessage)getMessage;(NSString *)_messageId;
- (BOOL)deleteMessage:(NSString *)_messageId;
- (BOOL)forwardMessage:(NSString *)_messageId
toExtension:(NSString *)_extensionId;
And maybe do something the same for CDR? Just encapsulate core /
fundamental CDR and unified messaging support. CDR seems like it could
be pretty simple as it is a read-only thing.
This way (a) nothing would need to effect OGo Core and we could
potentially support multiple system.
My ultimate dream would be to see a IMAP<->DAV gateway [1] in ZideStore
and a UnifiedMessage<->DAV gateway so apps could use a "real" Unified
Message store to at least see a user's messages. The latter should be
relatively easy if there is a Unified Messaging bundle/interface. But I
suppose that may be a ways off [ first I have to get some *@&$*&^@$@$
content to appear in a ^@&^@#*&@# ZideStore folder ].
<aside>The current model of something-plugs-into-MUA-x is both flaky and
limiting, something on the sever would way more useful. I don't really
want to built support for the Unified Messaging architecture into
multiple places - Consonance, our intranet, our business system, etc....
and this seems like groupware-ish functionality to me.</aside>
[1] http://bugzilla.opengroupware.org/bugzilla/show_bug.cgi?id=4 &
http://bugzilla.opengroupware.org/bugzilla/show_bug.cgi?id=1173