From 1ae33feae9a3f0af400b09dcfdf32a80fe97542c Mon Sep 17 00:00:00 2001 From: Benny Prijono Date: Mon, 5 Feb 2007 18:59:31 +0000 Subject: Fixed ticket #89: implement transaction timeout in REGISTER request (thanks Frank Wiersma for reporting the problem) git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@932 74dad513-b988-da41-8d7b-12977e46ad98 --- pjsip/src/pjsip-ua/sip_reg.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'pjsip/src/pjsip-ua/sip_reg.c') diff --git a/pjsip/src/pjsip-ua/sip_reg.c b/pjsip/src/pjsip-ua/sip_reg.c index 45d2020c..9b6a68be 100644 --- a/pjsip/src/pjsip-ua/sip_reg.c +++ b/pjsip/src/pjsip-ua/sip_reg.c @@ -38,6 +38,12 @@ #define DELAY_BEFORE_REFRESH 5 #define THIS_FILE "sip_regc.c" +/* Outgoing transaction timeout when server sends 100 but never replies + * with final response. Value is in MILISECONDS! + */ +#define REGC_TSX_TIMEOUT 33000 + + /** * SIP client registration structure. */ @@ -742,7 +748,8 @@ PJ_DEF(pj_status_t) pjsip_regc_send(pjsip_regc *regc, pjsip_tx_data *tdata) */ regc->has_tsx = PJ_TRUE; ++regc->busy; - status = pjsip_endpt_send_request(regc->endpt, tdata, -1, regc, &tsx_callback); + status = pjsip_endpt_send_request(regc->endpt, tdata, REGC_TSX_TIMEOUT, + regc, &tsx_callback); if (status!=PJ_SUCCESS) { PJ_LOG(4,(THIS_FILE, "Error sending request, status=%d", status)); } -- cgit v1.2.3