Multiple Protocols For Transport In PJSIP

Home » Asterisk Users » Multiple Protocols For Transport In PJSIP
Asterisk Users 5 Comments

Is it possible to use serveral protocols for a single transport section in pjsip.con? In sip.conf you could use transport=udp,ws,wss so you cound use webrtc along with your phones but if I try:

[transport-udp]
type=transport protocol=udp,ws,wss bind=0.0.0.0

I get an error that transport-udp is not found. Do I need a dedicated interface for WebRTC?

[Feb 15 12:42:10] ERROR[3308]: res_pjsip.c:2432
sip_get_tpselector_from_endpoint: Unable to retrieve PJSIP transport
‘transport-udp’ for endpoint ‘4000’


Telecomunicaciones Abiertas de México S.A. de C.V. Carlos Chávez
+52 (55)9116-91161

5 thoughts on - Multiple Protocols For Transport In PJSIP

  • And how is this accomplished? If I put an extra transport section in pjsip.conf it does not show with “pjsip show transports”, I only see the first. I also get an error in the log file:

    [Feb 15 12:42:36] VERBOSE[4377] loader.c: Loading res_pjsip_transport_websocket.so.
    [Feb 15 12:42:36] VERBOSE[4377] loader.c:
    res_pjsip_transport_websocket.so => (PJSIP WebSocket Transport Support)
    [Feb 15 12:52:42] DEBUG[5793] res_sorcery_config.c: Using bucket size of
    ‘1’ for objects of type ‘transport’ from ‘pjsip.conf’
    [Feb 15 12:52:42] ERROR[5793] res_sorcery_config.c: Could not create an object of type ‘transport’ with id ‘transport-ws’ from configuration file ‘pjsip.conf’

  • Carlos Chavez wrote:

    Without the precise configuration it’s hard to answer, but in the case of the Websocket one you don’t need to create a transport. Provided chan_sip doesn’t have it enabled and loaded first then it will be available when res_pjsip_transport_websocket is loaded.

  • Ok, thank you. So, if for example I have my main transport configured as:

    [transport-udp]
    type=transport protocol=udp bind=0.0.0.0
    local_net=192.168.2.0/24
    external_media_address=XXX.XXX.XXX.XXX
    external_signaling_address=XXX.XXX.XXX.XXX

    Does that mean that I do not have to specify another transport section with transport=ws?