Hi all, I'm sending an invite with this function: ---------------------------8<------------------------------------
void si_invite(si_t *si, const char* destination) { si_oper_t* op = si_oper_create(si, SIP_METHOD_INVITE, destination, TAG_END()); if (!op) { printf("%s: failed to create an operation\n", si->name); return; } printf("%s: sending the invite to %s...\n", si->name, destination); nua_invite(op->handle) NUTAG_MEDIA_ENABLE(1), SOATAG_USER_SDP_STR("m=audio 5004 RTP/AVP 0 8"), TAG_END()); } ---------------------------8<------------------------------------ I have this handler called by the nua event callback function: ---------------------------------8<------------------------------- void app_i_state(int status, char const *phrase, nua_t *nua, nua_magic_t *magic, nua_handle_t *nh, nua_hmagic_t *hmagic, sip_t const *sip, tagi_t tags[]) { char const *l_sdp = NULL, *r_sdp = NULL; int audio = nua_active_inactive, video = nua_active_inactive, chat = nua_active_inactive; int offer_recv = 0, answer_recv = 0, offer_sent = 0, answer_sent = 0; int state = nua_callstate_init; tl_gets(tags, NUTAG_CALLSTATE_REF(state), NUTAG_OFFER_RECV_REF(offer_recv), NUTAG_ANSWER_RECV_REF(answer_recv), NUTAG_OFFER_SENT_REF(offer_sent), NUTAG_ANSWER_SENT_REF(answer_sent), SOATAG_LOCAL_SDP_STR_REF(l_sdp), SOATAG_REMOTE_SDP_STR_REF(r_sdp), TAG_END()); printf("Call-State: '%s'\n", nua_callstate_name(state)); if (l_sdp) { printf("local SDP updated:\n%s\n", l_sdp); } if (r_sdp) { printf("remote SDP updated:\n%s\n", r_sdp); } } ---------------------------------8<------------------------------- I'm seeing this dialog: SIP/SDP --> <--- SIP 180 Ringing <---- SIP/SDP 200 OK ---> SIP ACK 200 OK Since I'm receiving this SDP message: v=0 o=MxSIP 0 312671187 IN IP4 10.88.3.204 s=SIP Call c=IN IP4 10.XX.X.204 t=0 0 m=audio 3000 RTP/AVP 0 8 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 I would like to be able to disable one of the above two possible streams, for example selecting just one with an SDP like this: v=0 o=- 7540392608856471085 7407346358474901725 IN IP4 10.XX.X.67 s=- c=IN IP4 10.XX.X.67 t=0 0 m=audio 5004 RTP/AVP 0 a=rtpmap: 0 PCMU/8000 a=sendrcv . In other words I would like to override the default behaviour, which consists in sending immediately the ACK for the remote SDP offer, when I would like to keep continuing with the S/O negotiation. Can you give me some indication regarding how to achieve that? Many thanks in advance, regards. ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Sofia-sip-devel mailing list Sofia-sip-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sofia-sip-devel