Hi,
Yes, it would be ok if this code is
added in sip_inv.c (it's the solution I'm using now):
/*
* Send a request or response message.
*/
PJ_DEF(pj_status_t) pjsip_inv_send_msg( pjsip_inv_session *inv,
pjsip_tx_data *tdata)
{
* Send a request or response message.
*/
PJ_DEF(pj_status_t) pjsip_inv_send_msg( pjsip_inv_session *inv,
pjsip_tx_data *tdata)
{
...........
if
(tdata->msg->line.req.method.id == PJSIP_ACK_METHOD)
{
pjsip_event ack_e;
PJSIP_EVENT_INIT_TX_MSG(ack_e, tdata);
/* Set state to CONFIRMED (if we're not in CONFIRMED yet).
* But don't set it to CONFIRMED if we're already DISCONNECTED
* (this may have been a late 200/OK response.
*/
if (inv->state < PJSIP_INV_STATE_CONFIRMED) {
inv_set_state(inv, PJSIP_INV_STATE_CONFIRMED, &ack_e);
}
}
{
pjsip_event ack_e;
PJSIP_EVENT_INIT_TX_MSG(ack_e, tdata);
/* Set state to CONFIRMED (if we're not in CONFIRMED yet).
* But don't set it to CONFIRMED if we're already DISCONNECTED
* (this may have been a late 200/OK response.
*/
if (inv->state < PJSIP_INV_STATE_CONFIRMED) {
inv_set_state(inv, PJSIP_INV_STATE_CONFIRMED, &ack_e);
}
}
.................
Regards,
Gabriel.
On 17.07.2020 17:00, Ajaresh Gudipati
wrote:
Hi,
I tried to put that code inside pjsip_inv_send_msg() when method.id is ACK. So that no changes are required in api.
Is it okay to implement this way.?
Regards,Ajaresh Gudipati.
On Fri, 17 Jul 2020 at 2:40 PM, gabriel manea <gabriel.manea@xxxxxxxxx> wrote:
Hi,
I only succeeded by modifying the pjsip source file sip_inv.c (remove static keyword from void inv_set_state() and declare void inv_set_state() in sip_inv.h header).After that it is possible to manually change session state after sending ack:
{
pjsip_event e;
PJSIP_EVENT_INIT_TX_MSG(e, tdata);
inv_set_state(inv, PJSIP_INV_STATE_CONFIRMED, &e);
}
Regards,Gabriel.
On 17.07.2020 07:12, Ajaresh Gudipati wrote:
Dear Team,
I am implementing b2bua server with pjsip version 2.9
I am trying the transfer feature in server. So I want to delay the ack message untill i get the offer.
I have implemented the on_send_ack method of inv_session to send ack message manually from application
But after sending the ack from the application, if i try reinvite on the session. It is giving error as the invite session state is still in CONNECTING state.
Please suggest how can I achieve this functionality
Regards,Ajaresh Gudipati.
______________________________________________________________________________________________ Visit our blog: http://blog.pjsip.org pjsip mailing list pjsip@xxxxxxxxxxxxxxx http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
Visit our blog: http://blog.pjsip.org
pjsip mailing list
pjsip@xxxxxxxxxxxxxxx
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
_______________________________________________ Visit our blog: http://blog.pjsip.org pjsip mailing list pjsip@xxxxxxxxxxxxxxx http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
_______________________________________________ Visit our blog: http://blog.pjsip.org pjsip mailing list pjsip@xxxxxxxxxxxxxxx http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org