Re: Only use SIP signalling and disable pjmedia RTP

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This can be done.
First you will want to extract the RTP port numbers that pjsip has negotiated.
pj::MediaTransportInfo  transInfo = getMedTransportInfo(0);
transInfo.localRtpName will contain the local port
pj::StreamInfo streamInfo = getStreamInfo(0);
streamInfo.remoteRtpAddress will contain the remote port

Then you have to disconnect the media.
pj::CallInfo ci = getInfo();
pjsua_call *call = &pjsua_var.calls[ci.id];
// Iterate all the call medias
for (mi = 0; mi < call->med_cnt; ++mi) {
	pj_status_t status=PJ_SUCCESS;
	pjsua_call_media *call_med = &call->media[mi];
	// disconnect media so RTP block can use it
	if (call_med->tp_st > PJSUA_MED_TP_IDLE) {
		pjsua_set_media_tp_state(call_med, PJSUA_MED_TP_IDLE);
		pjmedia_transport_media_stop(call_med->tp);
	}
	pjsua_set_media_tp_state(call_med, PJSUA_MED_TP_NULL);
	status = pjmedia_transport_close(call_med->tp);
	call->med_cnt=0;
	call->med_prov_cnt=0;
	if (status!=PJ_SUCCESS){
		//display error
	}
}
call->med_prov_cnt = 0;

Finally, you can use the RTP ports in your application.


-----Original Message-----
From: Sai Mukund Sagar Deshpande via pjsip <pjsip@xxxxxxxxxxxxxxx> 
Sent: Wednesday, May 26, 2021 10:16 AM
To: pjsip@xxxxxxxxxxxxxxx
Cc: Sai Mukund Sagar Deshpande <saimukunds@xxxxxxxxxxxxxxxxx>
Subject:  Only use SIP signalling and disable pjmedia RTP

Hi,

I have an application (SLIC/DSP software) on our embedded device (has POTS ports) that handles RTP incoming and outgoing traffic once RTP dest IP/port and local RTP port are provided.

I want to extract RTP src/dest port information from SIP messages and pass on to this application during call creation, so that it can manage RTP streams.

Till now, I am able to establish SIP calls on our device but audio is not working as pjsip opens RTP socket which I want to open on my RTP application.

# netstat -anp | grep 400
udp        0      0
0.0.0.0:4000            0.0.0.0:*                           1571/pjsua-
mips-unk
udp        0      0
0.0.0.0:4001            0.0.0.0:*                           1571/pjsua-
mips-unk
udp        0   6400 


Is it possible to do this easily? i.e., to use pjsip only for SIP signalling and disable RTP socket creation in pjmedia.


Regards,
SMS
_______________________________________________
Visit our blog: https://gcc02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fblog.pjsip.org%2F&amp;data=04%7C01%7Cjonathan.cook%40nist.gov%7Cdeeb124aa56e460082fe08d92061c2b9%7C2ab5d82fd8fa4797a93e054655c61dec%7C1%7C1%7C637576426553033814%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=zpRK7C3wXwwn3YgE2l9qzORVxtMUGgt2Fw7zs581ZM4%3D&amp;reserved=0

pjsip mailing list -- pjsip@xxxxxxxxxxxxxxx To unsubscribe send an email to pjsip-leave@xxxxxxxxxxxxxxx
_______________________________________________
Visit our blog: http://blog.pjsip.org

pjsip mailing list -- pjsip@xxxxxxxxxxxxxxx
To unsubscribe send an email to pjsip-leave@xxxxxxxxxxxxxxx



[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux