Summary: | ASTERISK-16367: chan_sip case 491 | ||
Reporter: | Rick Breidenstein (rbreidenstein) | Labels: | |
Date Opened: | 2010-07-14 15:29:13 | Date Closed: | 2010-07-14 15:31:58 |
Priority: | Major | Regression? | No |
Status: | Closed/Complete | Components: | Channels/chan_sip/Registration |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ||
Description: | I am looking to gain better understanding of the following part of the chan_sip.c as I am always receiving the message "LOG_WARNING, "just did sched_add waitid(%d) for sip_reinvite_retry for dialog %s in handle_response_invite\n", p->waitid, p->callid" 30 minutes into a call which then results in the call dropping 15 minutes later. Can anyone help me better understand this portion of the chan_sip module? Thanks, Rick ****** ADDITIONAL INFORMATION ****** case 491: /* Pending */ xmitres = transmit_request(p, SIP_ACK, seqno, XMIT_UNRELIABLE, FALSE); if (p->owner && !req->ignore) { if (p->owner->_state != AST_STATE_UP) { ast_queue_control(p->owner, AST_CONTROL_CONGESTION); pvt_set_needdestroy(p, "received 491 response"); } else { /* This is a re-invite that failed. */ /* Reset the flag after a while */ int wait; /* RFC 3261, if owner of call, wait between 2.1 to 4 seconds, * if not owner of call, wait 0 to 2 seconds */ if (p->outgoing_call) { wait = 2100 + ast_random() % 2000; } else { wait = ast_random() % 2000; } p->waitid = ast_sched_add(sched, wait, sip_reinvite_retry, dialog_ref(p, "passing dialog ptr into sched structure based on waitid for sip_reinvite_retry.")); ast_log(LOG_WARNING, "just did sched_add waitid(%d) for sip_reinvite_retry for dialog %s in handle_response_invite\n", p->waitid, p->callid); ast_debug(2, "Reinvite race. Waiting %d secs before retry\n", wait); } } break; | ||
Comments: | By: Jason Parker (jparker) 2010-07-14 15:31:58 This isn't the right place for this type of discussion. Please try the asterisk-dev mailing list. |