Coder Social home page Coder Social logo

restcomm / restcomm-connect Goto Github PK

View Code? Open in Web Editor NEW
240.0 65.0 215.0 169.42 MB

The Open Source Cloud Communications Platform

Home Page: http://www.restcomm.com/

License: GNU Affero General Public License v3.0

Shell 1.58% Java 74.04% JavaScript 12.82% HTML 1.76% CSS 9.62% SCSS 0.18%
restcomm java communication voip sip

restcomm-connect's People

Contributors

abdulazizali77 avatar abhayani avatar agafox avatar ammendonca avatar atika2k avatar brainslog avatar croufay avatar deruelle avatar desipepova avatar forever3000 avatar ghjansen avatar gvagenas avatar hrosa avatar ivelin avatar jaimecasero avatar juliachernobrivets-mobius avatar kacmos avatar leftyb avatar muhammadbilal19 avatar nguyenhien1807 avatar otsakir avatar peteroyle avatar rlimonta avatar scottbarstow avatar thinhly197 avatar thomas-strafrac avatar thomasquintana avatar tspslegr avatar vmykhailiuk avatar zahidmed avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

restcomm-connect's Issues

Logging Service

Centralized logging service that will accepts messages from Actors and will log according to the object type.

+1234 test application does not play sound to SIP phone under Windows

How to reproduce a problem:
-download TelScale-Restcomm-JBoss-AS7-7.1.4-SNAPSHOT and start it under Microsoft Windows and launch
-create a SIP account and connect with this account by SIP phone to a local Restcomm server
-call to a number "+1234". The connection is established but no announce sound comes
then I manually break a call from SIP phone

Status Callback URL

I am trying to set a Status Callback URL. I am going to Dashboard -> Numbers Choosing the number for my application and then place Status Callback URL. Then I saved the project. RVD said it is saved. But when I went back to numbers and choose the one I am using with my app, there is no status callback URL set.

1
2

Conference endpoint once created is never cleaned

Conference endpoint once created is never cleaned and Actor remains in context for ever. This is only when participants leave one-by-one.
However of "endConferenceOnExit" is true, it does proper cleanup.
Conference endpoint should be cleaned if last participant leaves the call.

Allow disabling of SIP authentication

For trusted networks, authentication can be removed as it would be a perf overhead.
Also for applications such as customer support widget where visitors on website would want to talk to customer care agents anonymously, those users should register and make call or chat with agents without having them pre registered in RestComm

Automatically release DIDs when AMI is terminated

In the upcoming AMI we will integrate VI by default to simplify the end user experience.
If a customer registers DIDs and consequently kills the AMI, we need to make sure to release the DIDs from the VI portal.

Allow multiple DID origination providers

Some DID providers are stronger with coverage in certain geographies, but do not have coverage in others.
For example VI does not offer DIDs in Hong Kong, China, Korea, Japan and other countries.
Restcomm should allow more than one DID provider to be plugged in a live instance.

"endConferenceOnExit" attribute is not respected

As of now in VoiceInterpreter#FinishConferencing it reads "endConferenceOnExit" attribute. However FinishConferencing will only be called when someone left the call and "endConferenceOnExit" was true. So this state will never reach.

Admin UI Visual notification when System Update is available.

Restcomm does not offer a visual cue for users that an update is available. The Admin UI should offer such visual cue to users with the right level of access and allow them to execute a graceful update with none or minimal service interruption.
Wordpress offers two kinds of visual cues similar to iOS apps. Red badge icon next to the components that have updates. Also a more detailed contextual message on the page of the updated component and on dashboard page.
screen shot 2014-03-17 at 11 41 15 am
screen shot 2014-03-17 at 11 40 59 am

Email/Call/SMS notification when critical system update is available

When a critical update is available that fixes a Severity 1 problem (security vulnerability, database crash bug, etc.) the admin of a Restcomm instance should be notified via email/sms/call and urged to execute update.
When possible updates should be graceful and not cause any service interruption.

Notification Service

Provide Notification Service that all other Actor will send messages to create Notification that will manifest in the REST Notifications API and Admin GUI

Implement Twilio SIP IN functionality

https://www.twilio.com/docs/sip/sip-twiml

SIP and TwiML Interaction

SIP calls interact with TwiML in virtually the same way as inbound phone calls and Client. When Twilio receives an incoming INVITE to your Twilio SIP domain and authenticates it, it passes a 180 Ringing SIP response code to your SIP endpoint. Twilio then looks up the URLs associated with your SIP domain and makes an HTTP request to the VoiceUrl.
When requesting your TwiML, Twilio will pass several parameters to your application from the original SIP call:

Parameter Name Description
To The URI of the INVITE
From “From” header passed in the INVITE
SipDomain The Twilio SIP Domain to which the INVITE was sent
SipUsername The username given when authenticating the request, if Credential List is the authentication method.
SipCallId The Call-Id of the incoming INVITE
SipSourceIp The IP Address the incoming INVITE came from.
SipHeader_ X- headers in the incoming INVITE are passed as SipHeader_ params, where is the header key. You can receive multiple of these.

Upon receiving a response with valid TwiML, Twilio begins executing the instructions contained within the TwiML. If the instructions are , , , , or , Twilio sends a 200 OK SIP response code to your endpoint and establishes the call.
If your application passes back a verb, the redirect document is requested and Twilio continues in the 180 Ringing state.
If your application sends back a , Twilio returns a 486 Busy SIP response code and the call setup is denied. If your application sends back a , Twilio returns a 603 Rejected SIP response code and the call setup is denied.
Passing SIP Headers to your TwiML application
In order to better integrate with remote SIP applications, Twilio's SIP connections can read headers in the initial INVITE and pass them to your application. Twilio will read any headers beginning with the X- prefix and pass them in the TwiML HTTP callback in the format SipHeader_X-headername=headervalue. This allows your application to make programmatic decisions about what to do with a call.
Receiving SIP from Twilio
Overview
With Twilio SIP, it’s simple connect to your SIP endpoints from a Twilio app. You can use TwiML or the REST API to initiate SIP sessions into your existing SIP gateways and IP PBXs. Take an inbound phone call and turn into a SIP call with TwiML. If you don’t have an existing phone call, use the REST API to start a new SIP call to your system.
How it works
To receive SIP from Twilio, use the noun of the verb to initiate a connection to your system. Twilio will send an INVITE to the URI you set in the noun and attempt to establish a SIP session. Use this to take any existing phone call in Twilio and route it to your SIP endpoint.
To initiate a SIP connection without having an existing call, you can use the REST APIto make SIP calls. This is just like making regular phone calls on Twilio, but instead of passing a phone number to dial, you just pass the URI to which we should send an INVITE.
Getting Started
To start receiving SIP to Twilio, you need to go through these steps:
Whitelist Twilio’s SIP and Media IPs on your SIP Endpoint
Twilio’s SIP IPs need to be whitelisted by you so that we can send SIP traffic back to your endpoint. You will also need to whitelist port 10000 to 20000 for RTP traffic so that the audio of the calls can reach your system.
2. Start receiving SIP from Twilio
Now that Twilio’s IPs are whitelisted in your system, your Twilio app can begin sending SIP traffic to your endpoints. If new to Twilio, it’s best to start out with noun of the verb for your first app.
SIP Headers
The following headers will always be added by Twilio to the outgoing initial INVITE request:
X-Twilio-CallSid: A unique identifier for this call, generated by Twilio. It is 34 characters long, and always starts with the letters CA.
X-Twilio-AccountSid: Your Twilio account SID. It is 34 characters long, and always starts with the letters AC.
X-Twilio-ApiVersion: The Twilio API version being used for this call session.
SIP X-Headers passed back from your SIP Endpoint
In order to better integrate with remote SIP applications, Twilio's SIP connections can read headers that are returned in the response messages. Twilio will read any headers beginning with the X- prefix and copy them to either the Dial action URL or the call screening URL, in the format DialSipHeader_X-headername=headervalue.
On a successful call setup (when a 200 OK SIP response is returned) any X-headers on the 200 OK message are posted to the call screening URL. Headers on the final SIP response message (any 4xx or 5xx message or the final BYE/200) are posted to the Dial action URL.

CDR Logging Issue on WebRTC P2P calls

  1. When chatting between users with WebRTC, the chat session is recorded as a CDR in the Logs_Call (from the RestComm Management UI) and the status stays IN_PROGESS instead of the SMS or shall we have a Messages Logs ?
  2. When making a P2P WebRTC call and CANCELing it, the call is correctly logged as CDR but status stays RINGING, instead of CANCELLED.

Allow multiple SMS termination providers

VI offers reliable SMS delivery in the US, however it does not offer SMS delivery/termination to other markets. Restcomm should allow multiple outbound SMS providers with a list of delivery priority rules based on phone number prefix.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.