If you are looking for Jitsi Meet, the WebRTC compatible video conferencing product click here.

A command line interface for SIP Communicator

GSoC Student: Linus Wallgren - Sweden
Primary Mentor: Emil Ivov - Bulgaria

Project Requirements

First term:

  1. Add a mechanism for handling commands by plugins (Just as we do for URIs)
 -c --command <command>
  1. Add support for the following commands
    1. exit - makes SIP Communicator shutdown its running instance
    2. help - displays all supported commands
    3. show-contact-list - displays the contact list
    4. show-contact-list - displays the contact list
    5. hide-contact-list - hides the contact lsit
    6. list-providers (shows all currently registered providers)
    7. open-chat contact/meta-contact - opens a chat window with the specified contact
    8. hide-chat - closes all chat windows
    9. hide-chat contact/meta-contact - hides any chat windows available for the specified contact/meta-contact
    10. list-open-chats - lists the meta contacts that the chats
    11. get-supported-status-set provider - lists the status set supported by “provider”
    12. set-status - Changes the global status
    13. set-status-for-protocol - Changes the status for all providers with the specified protocol
    14. set-status-for-protocol-and-user - Changes the status for the provider with the specified protocol and user.
    15. set-status-for-provider-id - Sets the status for a particular provider.
    16. list-contacts (lists all contact-addresses and display names)
    17. send-message to body - sends a message with body “body” to the “to” contact from the first possible provider
    18. send-message-via-protocol to provider body - sends a message to the “to” address with the “body” body and using the “provider” provider.
    19. 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.
    20. 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.
    21. call to - tries to establish a call with the “to” contact from the first possible provider
    22. call-via-protocol - Calls via a certain protocol
    23. call-via-protocol-from-user - Calls via a certain protocol with a certain user
    24. call-via-provider-id - Makes the call through the provider corresponding to the supplied id
    25. optional - any other command that Linus would think of

Second term:

  1. Add support for the following commands
    1. receive-message - blocks until a message is received, prints it after it arrives, and then returns
    2. receive-message contact - blocks until a message is received from the specified contact, prints it after it arrives, and then returns
    3. receive-messages ncount - blocks until ncount messages are received, prints them after they all arrive, and then returns (or waits indefinitely if ncount == 0)
    4. 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)
    5. list-calls - lists all existing calls (including ongoing, ringing, and initiating)
    6. end-call call-id - ends the call with the specified id (IDs are retrieved from the above list command)
    7. answer-call call-id - answers the call with the specified ID (IDs are retrieved from the above list command)
  2. Add plugin management support - implement support for listing, installing, removing, starting and stopping OSGi bundles
  3. 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!”

Apply Now!

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