Sip communicator for java

Package net.java.sip.communicator.impl.protocol.sip

Represents a processor of events with a specific method received in ProtocolProviderServiceSipImpl much like SipListener but with the addition of signaling whether the specified event was indeed handled in the processor and needs no further processing in other processors registered for the same method.

Represents a listener which gets notified by the CallPeer it is registered with about the processing of SIP signaling that the CallPeer performs.

Checks the protocolProvider‘s account properties for configured custom headers and add them to the outgoing requests.

When enabled DesktopSharingCallSipImpl is used to be able to handle desktop sharing control messages out of dialog.

Implements the notifier part of RFC 3265 «Session Initiation Protocol (SIP)-Specific Event Notification» and thus eases the creation of event package-specific implementations.

Represents a general event package subscription in the sense of RFC 3265 «Session Initiation Protocol (SIP)-Specific Event Notification» from the point of view of the notifier and its signaling characteristics such as Request URI, id tag value of its Event header, the Dialog which has been created by the associated SUBSCRIBE request or through which NOTIFY requests are to be sent.

Implements the subscriber part of RFC 3265 «Session Initiation Protocol (SIP)-Specific Event Notification» and thus eases the creation of event package-specific implementations.

Represents a general event package subscription in the sense of RFC 3265 «Session Initiation Protocol (SIP)-Specific Event Notification» from the point of view of the subscriber and its signaling characteristics such as Request URI, id tag value of its Event header, the Dialog which has been created by the associated SUBSCRIBE request or through which it was sent.

Читайте также:  Какая программа открывает php файл

Provides the base for implementations of RFC 3265 «Session Initiation Protocol (SIP)-Specific Event Notification» and thus eases the creation of event package-specific implementations.

Represents a general event package subscription in the sense of RFC 3265 «Session Initiation Protocol (SIP)-Specific Event Notification» and its signaling characteristics such as Request URI, id tag value of its Event header.

Implements utility methods to aid the manipulation of Dialog instances and extend the mentioned type with additional functionality.

Provides a default implementation of MethodProcessor which does no processing and exists only as a convenience to extenders so that they can override the methods of interest.

Implements all call management logic and exports basic telephony support by implementing OperationSetBasicTelephony.

Implements OperationSetVideoTelephony in order to give access to video-specific functionality in the SIP protocol implementation such as visual Components displaying video and listening to dynamic availability of such Components.

An implementation of the Router interface wrapping around JAIN-SIP RI DefaultRouter in order to be able to change the outbound proxy depending on the account which sent the request.

The parent server stored contact list used in OperationSetPresenceSipImpl the underling implementation like xcap one extend it with actual contact list modifications.

Encapsulates XCapClient, it’s responsible for generate corresponding events to all action that are made with XCAP contacts and groups.

The only Object with should be used as parameter for any JAIN-SIP class setApplicationData() method (available for instance with Dialog-s and Transaction-s).

This class passes log calls from JAIN-SIP to log4j, so that it is possible to change the log level for the JAIN-SIP stack in logging.properties

This MessageFactory is just a wrapper around a «real» Messagefactory, which will be passed to the constructor.

Contains all functionality that has anything to do with registering and maintaining registrations with a SIP Registrar.

Represents an analogy of Timer which does not have the disadvantage of Timer to always create its thread at construction time.

Источник

Sip communicator for java

SIP (Session Initiation Protocol) is the IETF (Internet Engineering Task Force) signaling standard for managing multimedia session initiation; it is currently defined in RFC 3261. SIP can be used to initiate voice, video and multimedia sessions, for both interactive applications (e.g. an IP phone call or a videoconference) and not interactive ones (e.g. a Video Streaming), and it is the more promising candidate as call setup signaling for the present day and future IP based telephony services. SIP has been also proposed for session initiation related uses, such as for messaging, gaming, etc.

The mjSIP stack has been used in research activities by Dept. of Engineering and Architecture at University of Parma and by DIE — University of Roma «Tor Vergata» and several commercial products.

mjSIP includes all classes and methods for creating SIP-based applications. It implements the complete layered stack architecture as defined in RFC 3261 (Transport, Transaction, and Dialog sublayers), and is fully compliant with RFC 3261 and successive standard RFCs. Moreover it includes higher level interfaces for Call Control and User Agent implementations. mjSIP comes with a core package implementation that includes:

  • all standard SIP layers and components,
  • various SIP extensions (already defined within IETF),
  • some useful Call Control APIs (e.g. Call-Control, UserAgent, etc.),
  • a reference implementation of some SIP systems (Proxy Server, Session Border Controlleer, and UA).

Источник

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Video-Audio Chatting Application in Java with SIP Protocol

dimosr/SIP

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

Iprovements over SIP
(Session Inititation Protocol)
Communication Platform

The purpose of this project was to design and implement 3 new functionalities in the initial application containing a client component (SIP Commmunicator) and a server component (Jain SIP Proxy). Those 2 programs implement the protocol SIP, which is defined under the RFC 3261[1], which was published by the organization National Institute of Standards and Technology (NIST). The SIP Protocol allows the evolution of communication applications through Internet, amongst them the service of Voice over IP (VoIP), which is used for Skype.

The initial package was an implementetion of Sip Communicator and Sip Proxy Server. Logging in without authentication was allowed from Sip Communicator to Proxy Server. After the registration, each Sip Communicator instance could make call (including voice and image), to any other Sip Communicator instance that was registered to the same Proxy Server.

The improvements that were implemented over the pre-existing package included the following 4 features :

  • Authentication (single registration — multiple logins)
  • Blocking
  • Forwarding
  • Billing
  • Friending | Unfriending
[Authentication] : User is required to have made at least a registration to the Proxy Server prior to logging. The info given during the registration are the username, the password, the email and the address of the user. If the user has not made any registration prior to the attempt to login, he is not allowed to login. Similarly, if the user gives a wrong password, he is not allowed to login to the application. [Blocking] : User can block other users, so that they cannot make a call to him. If a blocked user attempts a call to his blockee, he will see that the other user is blocked, so that he will not be able to understand that the other user blocked him. With the corresponding button in the menu the user can see all the users that he has blocked. [Forwarding] : A user can forward all the calls to another user. In this way, whoever calls this user, will make a call to the user this call was forwarded to. It is also implemented an additional feature, so that the circular forwardings are not allowed and the procedure of forwarding is stopped in the last user before a circle is completed. [Billing] : Each user is charged for each call made to another user. The calls are charged linearly dependent on the duration of the call and there is also a level, under which the users are charged with constant cost. Also, different charges occur between friends (see next). With the corresponding button in the menu, the user can see the total cost of all the calls he has made. [Friending] : Each user can friend another user. This functionality is mutual, so if user A friends user B, the B will not need to acknoledge the friendship. Each of the 2 users can unfriend the other in order to stop this relationship between them. 2 users that are friended benefit from lower charges during their calls. With the corresponding button in the menu, the user can see all his current friends.

In order to execute this package, the instructions that have to be followed are the following :

Install the corresponding Java for your Operating System from Oracle java repository

Download JMF 2.1.1e Software for our specific environment from Oracle jmf repository

  • Update environment variable PATH to contain JAVA_CLASSPATH
  • Installation of Eclipse
  • Download of the package form Github (folder SipProject)
  • Start Eclipse

Choose as workspace the path (. \SipProject\workspace) (or . /SipProject/workspace in Unix)

Choose form upper menu of eclipse File -> Import -> General -> Existing Projects into Workspace -> Next -> (Browse) -> . \SipProject and select ‘Sip Communicator’ and ‘Proxy Server’

Install the mySQL in your PC, and edit the class gov.nist.sip.proxy.Database.java to update your own database credentials. Also, you may need to re-import the mysql-connector jar from the folder SipProject\sipproxy\lib. This is done by right-clicking in sipproxy in eclipse and then Configure Build Path -> Add External Jar -> browse to the file

Set the following attributes in the file sip-communicator.xml:

AUDIO_PORT value="22224"/> VIDEO_PORT value="22222"/> REGISTRAR_ADDRESS value=":4000"/> REGISTRAR_PORT value="5060"/> DEFAULT_DOMAIN_NAME value=":4000"/> DEFAULT_AUTHENTICATION_REALM value=":4000"/> IP_ADDRESS value=""/> OUTBOUND_PROXY value=":4000/udp"/>

Also set the following attributes in the file configuration.xml of Proxy Server :

stack_IP_address pl-ent">ip of Proxy Server>"

We choose from Eclipse the class gov.nist.sip.proxy.gui.ProxyLauncher.java and with right-click execute Run As -> Java Application -> New and add the following as Argument :

–cf gov/nist/sip/proxy/configuration/configuration.xml

We choose from Eclipse the class net.java.sip.communicator.SipCommunicator.java and with right-ckick execute Run As -> Java Application -> New and add the following as VM Argument :

We press the button Start the Proxy in Proxy Server We also press Register from Sip Communicator

About

Video-Audio Chatting Application in Java with SIP Protocol

Источник

Оцените статью