AudioBridge with SIP participants

Hi Lorenzo.

  1. Can a SIP peer be a member of an audio room? I want to create audio conference with N WebRTC members and one SIP peer.
    This documentation tells how to make a connection request for SIP peers:
{
        "request" : "join",
        [..]
        "rtp" : {
                "ip" : "<IP address you want media to be sent to>",
                "port" : <port you want media to be sent to>,
                "payload_type" : <payload type to use for RTP packets (optional; only needed in case Opus is used, automatic for G.711)>,
                "audiolevel_ext" : <ID of the audiolevel RTP extension, if used (optional)>,
                "fec" : <true|false, whether FEC should be enabled for the Opus stream (optional; only needed in case Opus is used)>
        }
}

but Janus does not send ip and port for incoming SIP call and I have no idea where I can get them. Do you have any idea where I can get ip and port for SIP peer for joining audio room?

  1. And one more question.
    If the SIP peer is a audio room participant can I receive DTMF codes from him? I want to create something like IVR based on Janus audio room.

Thanks for reply.

1 Like

Check this blog post for some more info:

1 Like

@lorenzo Hi, I wanted to ask you the same question.

DTMF is supported in two formats: SIP INFO and RTP Payload. The current situation is:

Send:

  1. Janus supports the form of SIP INFO and also has the corresponding JS interface
  2. The form of RTP Payload can be implemented by WebRTC’s ‘insertDTMF’ method

Received:

At present, it seems that there is no relevant implementation of the Janus source code, if I want to achieve Janus side to receive DTMF (preferably support RFC2833), and then return to the web side through ws signaling, how should this be implemented, if you can, please guide me, thank you.

Receiving RFC2833 would be up to the browser (which handles the media stack) and they don’t expose APIs for that Ithink. You may have better luck with DTMF via SIP INFO, as the plugin will relay incoming SIP INFO messages to the user.

1 Like

Using DTMF with WebRTC - Web APIs | MDN (mozilla.org)

From mdn, it says:

WebRTC doesn’t send DTMF codes as audio data. Instead, they’re sent out-of-band, as RTP payloads. Note, however, that although it’s possible to send DTMF using WebRTC, there is currently no way to detect or receive incoming DTMF. WebRTC currently ignores these payloads; this is because WebRTC’s DTMF support is primarily intended for use with legacy telephone services that rely on DTMF tones to perform tasks such as: 1 2 3 4 5 balabala

so, you are right:

i has tested SIP INFO by using linephone, and it is ok. but not all the sip peer side use the SIP INFO method to send, Instead, most are in the form of RFC2833.

i wonder if we can detect it in the method janus_sip_incoming_rtp, and then call back the browser side.

If you experiment with that and get it working, we’d appreciate a PR to review. It’s a low priority for me, personally, so no idea if/when I’d get to have a look at it myself.

1 Like

I understand that this feature is really very rarely used, although my C programming is terrible, but I will try to solve it. Thank you for your reply.

1 Like