← Back to team overview

rohc team mailing list archive

Re: [Question #403402]: Compress VoIP with ROHC

 

Question #403402 on rohc changed:
https://answers.launchpad.net/rohc/+question/403402

gael anyouzoa gave more information on the question:
Need your help to manage me in my course of implement ROHC on
asteriskbest regardsgael anyouzoa

    Le Dimanche 30 octobre 2016 12h08, Didier Barvaux <question403402@xxxxxxxxxxxxxxxxxxxxx> a écrit :
 

 Question #403402 on rohc changed:
https://answers.launchpad.net/rohc/+question/403402

    Status: Open => Answered

Didier Barvaux proposed the following answer:
Hello,

> I want to integrate rohc library on asterisk source code
> the aim is to modify the file "chan_sip.c (it's the sip channel for asterisk)
> i have already identified whick methods to modify
> but i'm not an expert on c language
> I need some orientation.

Integration of ROHC in Asterisk is a great idea! I think about it since
ages :)

Here is my understanding of ROHC integration in Asterisk:
1/ The chan_sip.c channel should be modified to support ROHC negotiation through a custom SIP header "X-ROHC-Support" or the like.
2/ The ROHC compressor/decompressor shall be initialized when one RTP engine is instanced  in res/res_rtp_asterisk.c by chan_rtp.c ; they shall be destroyed when the RTP stream is destroyed.
3/ The compression and decompression shall be performed in the RTP engine too (rtp_sendto function probably). However the RTP header cannot be compressed alone. The ROHC protocol and library work on IP/UDP/RTP headers altogether, not on the RTP header alone. So, the UDP socket created by Asterisk in create_new_socket() shall probably be modified into a RAW socket. The IP and UDP headers shall therefore be built manually before compression. That's the weird part :-/

> Yet, if there's others alternatives to make VoIP with ROHC,
> tell me more

You may try the IP/ROHC tunnel: https://rohc-
lib.org/wiki/doku.php#ip_rohc_tunnel

Your changes on Asterisk will handle SIP/RTP streams. The IP/ROHC tunnel
is a more generic solution, it handles all streams. However integration
would be better with Asterisk. Especially for detection of RTP streams.
>From within Asterisk, RTP streams can be detected from the SIP
exchanges.

Regards,
Didier

-- 
You received this question notification because your team ROHC Team is
an answer contact for rohc.

_______________________________________________
Mailing list: https://launchpad.net/~rohc
Post to    : rohc@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~rohc
More help  : https://help.launchpad.net/ListHelp

You received this question notification because your team ROHC Team is
an answer contact for rohc.