A command line interface for SIP Communicator
GSoC Student: Linus Wallgren - Sweden
Primary Mentor: Emil Ivov - Bulgaria
Project Requirements
First term:
- Add a mechanism for handling commands by plugins (Just as we do for URIs)
-c --command <command>
- Add support for the following commands
- exit - makes SIP Communicator shutdown its running instance
- help - displays all supported commands
- show-contact-list - displays the contact list
- show-contact-list - displays the contact list
- hide-contact-list - hides the contact lsit
- list-providers (shows all currently registered providers)
- open-chat contact/meta-contact - opens a chat window with the specified contact
- hide-chat - closes all chat windows
- hide-chat contact/meta-contact - hides any chat windows available for the specified contact/meta-contact
- list-open-chats - lists the meta contacts that the chats
- get-supported-status-set provider - lists the status set supported by “provider”
- set-status - Changes the global status
- set-status-for-protocol - Changes the status for all providers with the specified protocol
- set-status-for-protocol-and-user - Changes the status for the provider with the specified protocol and user.
- set-status-for-provider-id - Sets the status for a particular provider.
- list-contacts (lists all contact-addresses and display names)
- send-message to body - sends a message with body “body” to the “to” contact from the first possible provider
- send-message-via-protocol to provider body - sends a message to the “to” address with the “body” body and using the “provider” provider.
- send-message-via-protocol-from-user to provider user body - sends a message to the “to” address with the “body” body and using the “provider” provider and “user” user.
- list-providers send-message-via-account-id to account-id body - sends a message to the “to” address with the provider corresponding to account-id.
- call to - tries to establish a call with the “to” contact from the first possible provider
- call-via-protocol - Calls via a certain protocol
- call-via-protocol-from-user - Calls via a certain protocol with a certain user
- call-via-provider-id - Makes the call through the provider corresponding to the supplied id
- optional - any other command that Linus would think of
Second term:
- Add support for the following commands
- receive-message - blocks until a message is received, prints it after it arrives, and then returns
- receive-message contact - blocks until a message is received from the specified contact, prints it after it arrives, and then returns
- receive-messages ncount - blocks until ncount messages are received, prints them after they all arrive, and then returns (or waits indefinitely if ncount == 0)
- receive-messages contact - blocks until ncount messages are received from the specified contact, prints them after they all arrive, and then returns (or waits indefinitely if ncount == 0)
- list-calls - lists all existing calls (including ongoing, ringing, and initiating)
- end-call call-id - ends the call with the specified id (IDs are retrieved from the above list command)
- answer-call call-id - answers the call with the specified ID (IDs are retrieved from the above list command)
- Add plugin management support - implement support for listing, installing, removing, starting and stopping OSGi bundles
- optional - any other linus generated ideas
Project Description:
Are you convinced that using the console is hundreds of times faster than clicking with a mouse? Do you maintain tons of scripts on your box so that it would run exactly the way you want it to? If yes, then this project idea is meant for you … and if not it could be an occasion for you to discover the joys of the command prompt :).
The project would consist in the implementation of support for a number of options that would provide access to SIP Communicator’s basic features through launch arguments. Consider the following examples:
$sip-communicator --protocol jabber --to [email protected]
--send-message “I’m not a smart man, but I know what love is!”
References:
Other Jitsi GSoC Projects
http://gsoc.jitsi.org
Jitsi Developer Documentation
http://www.jitsi.org/index.php/Documentation/DeveloperDocumentation
The official Jitsi website
http://www.jitsi.org