Asterisk 13 WebRTC Status Report

Home » Asterisk Users » Asterisk 13 WebRTC Status Report
Asterisk Users 3 Comments

hi,

i’m fighting with webrtc for 14 days reporting my experience to minimize number of crazy asterisk users

i have working webrtc with simpl5 + asterisk 13 + pjproject 2.4.5 +
chan_pjsip + secure websockets + secure audio + audio in both ways

problems first, i needed run chan_sip for old hard phones and wss with chan_pjsip only for webrtc. this is possible with patch from https://issues.asterisk.org/jira/browse/ASTERISK-24106

chan_sip is not usable for webrtc because of https://issues.asterisk.org/jira/browse/ASTERISK-24602

another problem arise with RTP/SAVPF negotiation this can be solved with patch for Asterisk from https://issues.asterisk.org/jira/browse/ASTERISK-24602
and for pjsip http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/2015-September/018607.html

i hope this info helps

what is your experience with WebRTC?

See you at WebRTC Expo Paris 🙂

p.s. many thanks to my colleague martin tomec for debugging support

p.s.2 relevant part of pjsip.conf

[global]
[transport-wss]
type=transport protocol=wss ;udp,tcp,tls,ws,wss bind=0.0.0.0

;===============ENDPOINT TEMPLATES

[endpoint-basic](!)
type=endpoint transport=transport-wss context=route_phones disallow=all allow=alaw allow=ulaw force_avp=yes use_avpf=yes ; Determines whether res_pjsip will use and enforce usage of media_encryption=dtls ; Determines whether res_pjsip will use and enforce dtls_verify=no ; Verify that the provided peer certificate is valid
(default:
dtls_rekey=0 ; Interval at which to renegotiate the TLS session and rekey dtls_cert_file=/etc/pki/tls/certs/pbx.crt dtls_private_key=/etc/pki/tls/private/pbx.key dtls_setup

3 thoughts on - Asterisk 13 WebRTC Status Report

  • SGVsbG8gTWFyZWshIEnigJl2ZSBiZWVuIHJ1bm5pbmcgb24gYW4gaXNzdWUgd2l0aCBteSBBc3Rl cmlzayAxMiBjb25maWd1cmF0aW9uIGZvciB1c2luZyBXZWJSVEMgb24gYSBMQU4gZW52aXJvbm1l bnQgZm9yIGFib3V0IGEgbW9udGghIEkgcmVhbGx5IG5lZWQgc29tZSBoZWxwIOKApg0KDQoNCk15
    IGNhbGxzIGZyb20gdGhlIGJyb3dzZXIgYXJlIGRvbmUgZmluZS4gSSBnZXQgcmluZ2luZywgdGhl eSBjYW4gYmUgYW5zd2VyZWQgYW5kIG5ldmVyIGRyb3AuIFRoZSB0aGluZyBpcyB0aGF0IHRoZXJl IGlzIG5vIGF1ZGlvIG9uIGFueSBzaWRlISBCdXQgSSBkb27igJl0IGdldCBhbnkgZXJyb3Igb3Ig d2FybmluZyBmcm9tIEphdmFTY3JpcHQgbm9yIHRoZSBBc3RlcmlzayBDTEkuIEnigJltIHVzaW5n IEFzdGVyaXNrIDEyICsganNTSVAuDQoNCg0KSWYgeW91IGNvdWxkIGhlbHAgbWUgc29sdmluZyB0
    aGlzIEkgd291bGQgYmUgZXRlcm5hbGx5IGdyZWF0ZnVsIPCfmIMgSXTigJlzIGZvciBteSBncmFk ZSBwcm9qZWN0IOKApg0KVGhlc2UgYXJlIG15IGZpbGVzOg0KDQpzaXAuY29uZjogaHR0cDovL3Bh c3RlYmluLmNvbS9rV3dYcGk0Vg0KDQpodHRwLmNvbmY6IGh0dHA6Ly9wYXN0ZWJpbi5jb20vWndK
    V2lpd2YNCg0KU0lQIGRlYnVnZ2luZyBmb3IgY2xpZW50IFJFR0lTVEVSOiBodHRwOi8vcGFzdGVi aW4uY29tL0dOWkVUdFFiDQoNClNJUCBkZWJ1Z2dpbmcgZm9yIGV4dGVuc2lvbiBjYWxsIChIZWxs by1Xb3JsZCByZWNvcmRpbmcpOiBodHRwOi8vcGFzdGViaW4uY29tLzBQeGpMd0JiDQoNCkkgZm9s bG93ZWQgdGhlc2UgdHV0b3JpYWxzLiBJZiB5b3UgaGF2ZSBhbnkgb3RoZXIgdXNlZnVsIHJlc291
    cmNlLCBJ4oCZZCBiZSBnbGFkIGlmIHlvdSBjb3VsZCBzaGFyZSBpdDoNCmh0dHA6Ly9zdGFja292
    ZXJmbG93LmNvbS9xdWVzdGlvbnMvMjYyNTQ5ODAvd2Vic29ja2V0LWNvbm5lY3Rpb24tZmFpbHMt d2l0aC1hc3Rlcmlzay0xMQ0KDQpodHRwOi8vYmxvZy5nbWMudXkvMjAxNC8wNC9hc3Rlcmlzay0x Mi11YnVudHUtMTIwNC1wanByb2plY3Qtc3J0cC5odG1sDQoNCg0KRnVydGhlcm1vcmUsIGlmIEkg d2FudCB0byBoYXZlIGEgbG9jYWwgQXN0ZXJpc2sgY29uZmlndXJhdGlvbiwgd2hpY2ggc2hvdWxk IGJlIHRoZSBJUCBhZGRyZXNzIGZvciB0aGUgaHR0cC5jb25mICsgRFRMUyBjZXJ0aWZpY2F0ZXM/
    PyBJIHRyaWVkIHdpdGggbG9jYWxob3N0IGJ1dCBSVFAgcGFja2V0cyByZWRpcmVjdCB0byBteSBl dGggSVAuIA0KDQpUaGFua3MgaW4gYWR2YW5jZSEhISEhISEhISEgDQoNCg0KDQoNCg0KDQpEZTog TWFyZWsgxIxlcnZlbmthDQpFbnZpYWRvIGVsOiDigI5tYXJ0ZXPigI4sIOKAjjE14oCOIGRlIOKA
    jnNlcHRpZW1icmXigI4gZGUg4oCOMjAxNSDigI4wNuKAjjrigI4zN+KAjiDigI5hLiBtLg0KUGFy YTogYXN0ZXJpc2stdXNlcnNAbGlzdHMuZGlnaXVtLmNvbQ0KDQoNCg0KDQpoaSwNCg0KDQoNCg0K
    aSdtIGZpZ2h0aW5nIHdpdGggd2VicnRjIGZvciAxNCBkYXlzDQoNCnJlcG9ydGluZyBteSBleHBl cmllbmNlIHRvIG1pbmltaXplIG51bWJlciBvZiBjcmF6eSBhc3RlcmlzayB1c2VycyANCg0KDQoN
    CmkgaGF2ZSB3b3JraW5nIHdlYnJ0YyB3aXRoIHNpbXBsNSArIGFzdGVyaXNrIDEzICsgcGpwcm9q ZWN0IDIuNC41ICsgY2hhbl9wanNpcCArIHNlY3VyZSB3ZWJzb2NrZXRzICsgc2VjdXJlIGF1ZGlv ICsgYXVkaW8gaW4gYm90aCB3YXlzDQoNCnByb2JsZW1zDQpmaXJzdCwgaSBuZWVkZWQgcnVuIGNo YW5fc2lwIGZvciBvbGQgaGFyZCBwaG9uZXMgYW5kIHdzcyB3aXRoIGNoYW5fcGpzaXAgb25seSBm b3Igd2VicnRjLiB0aGlzIGlzIHBvc3NpYmxlIHdpdGggcGF0Y2ggZnJvbQ0KaHR0cHM6Ly9pc3N1
    ZXMuYXN0ZXJpc2sub3JnL2ppcmEvYnJvd3NlL0FTVEVSSVNLLTI0MTA2DQoNCmNoYW5fc2lwIGlz IG5vdCB1c2FibGUgZm9yIHdlYnJ0YyBiZWNhdXNlIG9mDQoNCiANCmh0dHBzOi8vaXNzdWVzLmFz dGVyaXNrLm9yZy9qaXJhL2Jyb3dzZS9BU1RFUklTSy0yNDYwMg0KDQphbm90aGVyIHByb2JsZW0g YXJpc2Ugd2l0aCBSVFAvU0FWUEYgbmVnb3RpYXRpb24NCnRoaXMgY2FuIGJlIHNvbHZlZCB3aXRo IHBhdGNoIGZvciBBc3RlcmlzayBmcm9tDQpodHRwczovL2lzc3Vlcy5hc3Rlcmlzay5vcmcvamly YS9icm93c2UvQVNURVJJU0stMjQ2MDINCmFuZCBmb3IgcGpzaXANCmh0dHA6Ly9saXN0cy5wanNp cC5vcmcvcGlwZXJtYWlsL3Bqc2lwX2xpc3RzLnBqc2lwLm9yZy8yMDE1LVNlcHRlbWJlci8wMTg2
    MDcuaHRtbA0KDQppIGhvcGUgdGhpcyBpbmZvIGhlbHBzDQoNCndoYXQgaXMgeW91ciBleHBlcmll bmNlIHdpdGggV2ViUlRDPw0KDQpTZWUgeW91IGF0IFdlYlJUQyBFeHBvIFBhcmlzIDopDQoNCnAu cy4gbWFueSB0aGFua3MgdG8gbXkgY29sbGVhZ3VlIG1hcnRpbiB0b21lYyBmb3IgZGVidWdnaW5n IHN1cHBvcnQNCg0KIA0KcC5zLjIgcmVsZXZhbnQgcGFydCBvZiBwanNpcC5jb25mDQoNCltnbG9i YWxdDQpbdHJhbnNwb3J0LXdzc10NCnR5cGU9dHJhbnNwb3J0DQpwcm90b2NvbD13c3MgICAgO3Vk cCx0Y3AsdGxzLHdzLHdzcw0KYmluZD0wLjAuMC4wDQoNCjs9PT09PT09PT09PT09PT1FTkRQT0lO
    VCBURU1QTEFURVMNCg0KW2VuZHBvaW50LWJhc2ljXSghKQ0KdHlwZT1lbmRwb2ludA0KdHJhbnNw b3J0PXRyYW5zcG9ydC13c3MNCmNvbnRleHQ9cm91dGVfcGhvbmVzDQpkaXNhbGxvdz1hbGwNCmFs bG93PWFsYXcNCmFsbG93PXVsYXcNCmZvcmNlX2F2cD15ZXMNCnVzZV9hdnBmPXllcyAgICA7IERl dGVybWluZXMgd2hldGhlciByZXNfcGpzaXAgd2lsbCB1c2UgYW5kIGVuZm9yY2UgdXNhZ2Ugb2YN
    Cm1lZGlhX2VuY3J5cHRpb249ZHRscyAgICA7IERldGVybWluZXMgd2hldGhlciByZXNfcGpzaXAg d2lsbCB1c2UgYW5kIGVuZm9yY2UNCmR0bHNfdmVyaWZ5PW5vIDsgVmVyaWZ5IHRoYXQgdGhlIHBy b3ZpZGVkIHBlZXIgY2VydGlmaWNhdGUgaXMgdmFsaWQgKGRlZmF1bHQ6DQpkdGxzX3Jla2V5PTAg ICA7IEludGVydmFsIGF0IHdoaWNoIHRvIHJlbmVnb3RpYXRlIHRoZSBUTFMgc2Vzc2lvbiBhbmQg cmVrZXkNCmR0bHNfY2VydF9maWxlPS9ldGMvcGtpL3Rscy9jZXJ0cy9wYnguY3J0DQpkdGxzX3By aXZhdGVfa2V5PS9ldGMvcGtpL3Rscy9wcml2YXRlL3BieC5rZXkNCmR0bHNfc2V0dXA9YWN0cGFz cw0KaWNlX3N1cHBvcnQ9eWVzICAgO1RoaXMgaXMgc3BlY2lmaWMgdG8gY2xpZW50cyB0aGF0IHN1
    cHBvcnQgTkFUIHRyYXZlcnNhbA0KbWVkaWFfdXNlX3JlY2VpdmVkX3RyYW5zcG9ydD15ZXMNCg0K
    W2F1dGgtdXNlcnBhc3NdKCEpDQp0eXBlPWF1dGgNCmF1dGhfdHlwZT11c2VycGFzcw0KDQpbYW9y LXNpbmdsZS1yZWddKCEpDQp0eXBlPWFvcg0KcmVtb3ZlX2V4aXN0aW5nPXllcw0KbWF4X2NvbnRh Y3RzPTENCg0KDQo7PT09PT09PT09PT09PT09REVWSUNFUw0KDQpbd2VicnRjMV0oZW5kcG9pbnQt YmFzaWMpDQphdXRoPXdlYnJ0YzENCmFvcnM9d2VicnRjMQ0KDQpbd2VicnRjMV0oYXV0aC11c2Vy cGFzcykNCnBhc3N3b3JkPXNlY3JldA0KdXNlcm5hbWU9d2VicnRjMQ0KDQpbd2VicnRjMV0oYW9y LXNpbmdsZS1yZWcpDQoNCnJlbGV2YW50IHBhcnQgb2YgaHR0cC5jb25mDQpbZ2VuZXJhbF0NCmVu YWJsZWQ9eWVzDQpiaW5kYWRkcj0wLjAuMC4wDQp0bHNlbmFibGU9eWVzDQp0bHNiaW5kYWRkcj0w LjAuMC4wOjgwODkNCnRsc2NlcnRmaWxlPS9ldGMvcGtpL3Rscy9jZXJ0cy9wYnguY3J0DQp0bHNw cml2YXRla2V5PS9ldGMvcGtpL3Rscy9wcml2YXRlL3BieC5rZXkNCg0KLS0gDQotLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCk1hcmVrIENlcnZlbmthDQo9PT09PT09PT09
    PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0

  • Den 2015-09-15 kl. 16:52, skrev asandovalros@gmail.com:

    In asterisk you have “rtp set debug on” to see if you get rtp packets. On your client you can start wireshark and look if RTP packets flow in both directions.

    If you have RTP traffic, maybe you didn’t attach the incoming media to an audio/video tag in your html. For example:

    html:
    In the event-handler for ‘addstream’ for the call, you have to attach the stream to #remoteView.

    /Johan