Hi Andreas, By default, pjmedia stream and SDP negotiation only allow single real audio payload type (and telephone events, if any) to be used in an audio session. For the pjmedia stream port, you can always 'wrap' it (or even replace it) with your own pjmedia port so you can send/recv RTP packets with any payload types in that session (see on_stream_created() & on_stream_destroyed() pjsua callbacks). But for SDP negotiation, unfortunately there is no such customization mechanism. FYI, the default stream behaviour on silence: - if VAD is enabled: + if codec has native VAD (such as AMR, Speex): periodic CN packets will be sent/received (with its PT) at some interval (codec dependent). + otherwise: periodic keep-alive packets will be sent/received (with its PT) with interval of PJMEDIA_CODEC_MAX_SILENCE_PERIOD. - if VAD is disabled: normal RTP packets is sent continuously (as if there is no silence). BR, nanang On Wed, May 2, 2012 at 8:46 PM, Andreas Wehrmann <a.wehrmann at centersystems.com> wrote: > Good day everyone! > > I have a few questions regarding the use of pjproject. > I'm currently undecided about which version to use (1.14 or 2.0-rc) > but am tending towards the stable release branch (1.x). > > These are my questions: > > > 1. Can I switch from audio to comfort noise (change RTP payload type)? > > Say I have an outgoing RTP stream and don't want to send silence but change > the RTP payload type to CN if I don't have useful audio to send, how would I > do it? > > I did notice that there seems to be a "comfort noise generation" feature, > but I didn't find anything on how to use it. > > > 2. Can I send RTP packets with my own (dynamic) payload type > "on demand" using an existing stream? > > Imagine I have an outgoing RTP stream on which I send real audio or silence > (CN). > I'd like to be able to send requests (payload of the RTP packet would be the > naked request) to the remote peer at any time using a payload type from the > dynamic payload type range. > > My expectation is that this request will be send immediately in between the > regular RTP audio packets. > > Is it possible to do this without any changes to pjproject? > If so, examples and/or pointers to the documentation would be greatly > appreciated. > > > 3. Can I receive RTP packets with my own payload type? > > Question 2. leads to the question of how I could receive > my "RTP request packets". > The reception of such a packet should result in a function being called to > deliver the payload and stream or call ID (to identify from which > stream/call the packet came) to the application. > > I did find the codec manager API and figured that it might to the job if I'd > just registered my "codec" to pjsua that way. Would it work? > > > Regards, > > Andreas > > -- > Dipl.-Ing. (FH) Andreas Wehrmann > Software Development > -------------------------------------------------------------- > Center Communication Systems GmbH > A-1210 Wien, Ignaz-K?ck-Stra?e 19 > Sitz in Wien > FN 796 88p, Firmenbuchgericht Wien > www.centersystems.com > > Tel.: +43 (0) 190 199 - 3616 > Mobile: +43 (0) 664 884 75916 > Fax: +43 (0) 190 199 - 2110 > E-Mail: a.wehrmann at centersystems.com > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip at lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org