[asterisk-commits] rizzo: branch rizzo/astobj2 r48411 -
/team/rizzo/astobj2/channels/chan_sip.c
asterisk-commits at lists.digium.com
asterisk-commits at lists.digium.com
Tue Dec 12 08:52:34 MST 2006
Author: rizzo
Date: Tue Dec 12 09:52:33 2006
New Revision: 48411
URL: http://svn.digium.com/view/asterisk?view=rev&rev=48411
Log:
reduce diffs with trunk
Modified:
team/rizzo/astobj2/channels/chan_sip.c
Modified: team/rizzo/astobj2/channels/chan_sip.c
URL: http://svn.digium.com/view/asterisk/team/rizzo/astobj2/channels/chan_sip.c?view=diff&rev=48411&r1=48410&r2=48411
==============================================================================
--- team/rizzo/astobj2/channels/chan_sip.c (original)
+++ team/rizzo/astobj2/channels/chan_sip.c Tue Dec 12 09:52:33 2006
@@ -245,14 +245,14 @@
*/
enum invitestates {
INV_NONE = 0, /*!< No state at all, maybe not an INVITE dialog */
- INV_CALLING, /*!< Invite sent, no answer */
- INV_PROCEEDING, /*!< We got/sent 1xx message */
- INV_EARLY_MEDIA, /*!< We got 18x message with to-tag back */
- INV_COMPLETED, /*!< Got final response with error. Wait for ACK, then CONFIRMED */
- INV_CONFIRMED, /*!< Confirmed response - we've got an ack (Incoming calls only) */
- INV_TERMINATED, /*!< Transaction done - either successful (AST_STATE_UP) or failed, but done
+ INV_CALLING = 1, /*!< Invite sent, no answer */
+ INV_PROCEEDING = 2, /*!< We got/sent 1xx message */
+ INV_EARLY_MEDIA = 3, /*!< We got 18x message with to-tag back */
+ INV_COMPLETED = 4, /*!< Got final response with error. Wait for ACK, then CONFIRMED */
+ INV_CONFIRMED = 5, /*!< Confirmed response - we've got an ack (Incoming calls only) */
+ INV_TERMINATED = 6, /*!< Transaction done - either successful (AST_STATE_UP) or failed, but done
The only way out of this is a BYE from one side */
- INV_CANCELLED /*!< Transaction cancelled by client or server in non-terminated state */
+ INV_CANCELLED = 7, /*!< Transaction cancelled by client or server in non-terminated state */
};
/* Do _NOT_ make any changes to this enum, or the array following it;
@@ -880,7 +880,7 @@
char replaces_callid[BUFSIZ]; /*!< Replace info: callid */
char replaces_callid_totag[BUFSIZ/2]; /*!< Replace info: to-tag */
char replaces_callid_fromtag[BUFSIZ/2]; /*!< Replace info: from-tag */
- struct sip_pvt *refer_pvt; /*!< Call we are referring. This is just a reference to a
+ struct sip_pvt *refer_call; /*!< Call we are referring. This is just a reference to a
* dialog owned by someone else, so we should not destroy
* it when the sip_refer object goes.
*/
@@ -1184,13 +1184,13 @@
struct sockaddr_in addr; /*!< IP address of peer */
/* Qualification */
- struct sip_pvt *peer_pvt; /*!< Call pointer */
+ struct sip_pvt *call; /*!< Call pointer */
int pokeexpire; /*!< When to expire poke (qualify= checking) */
int lastms; /*!< How long last response took (in ms), or -1 for no response */
int maxms; /*!< Max ms we will accept for the host to be up, 0 to not monitor */
struct timeval ps; /*!< Time for sending SIP OPTION in sip_pke_peer() */
struct sockaddr_in defaddr; /*!< Default IP address, used until registration */
- struct sip_pvt *mwi_pvt; /*!< Subscription for MWI */
+ struct sip_pvt *mwipvt; /*!< Subscription for MWI */
int lastmsg;
};
@@ -1300,7 +1300,7 @@
/* --- Sockets and networking --------------*/
/*!
- * __sipsock is shared between the manager thread (which handles reload
+ * sipsock is shared between the manager thread (which handles reload
* requests), the io handler (sipsock_read()) and the user routines that
* issue writes (using __sip_xmit()).
* The socket is -1 only when opening fails (this is a permanent condition),
@@ -1313,7 +1313,7 @@
* the protocol handle this above us.
*/
-static volatile int __sipsock = -1; /*!< Main socket for SIP network communication */
+static volatile int sipsock = -1; /*!< Main socket for SIP network communication */
static struct sockaddr_in bindaddr = { 0, }; /*!< The address we bind to */
static struct sockaddr_in externip; /*!< External IP address if we are behind NAT */
static char externhost[MAXHOSTNAMELEN]; /*!< External host name (possibly with dynamic DNS and DHCP */
@@ -1946,7 +1946,7 @@
* There is a short window during a reload when this might fail.
* Just live with it.
*/
- res = sendto(__sipsock, data, len, 0, (const struct sockaddr *)dst, sizeof(struct sockaddr_in));
+ res = sendto(sipsock, data, len, 0, (const struct sockaddr *)dst, sizeof(struct sockaddr_in));
if (res != len)
ast_log(LOG_WARNING, "sip_xmit of %p (len %d) to %s:%d returned %d: %s\n", data, len, ast_inet_ntoa(dst->sin_addr), ntohs(dst->sin_port), res, strerror(errno));
@@ -2664,11 +2664,11 @@
ast_log(LOG_DEBUG, "Destroying SIP peer %s\n", peer->name);
/* Delete it, it needs to disappear */
- if (peer->peer_pvt)
- peer->peer_pvt = sip_destroy(peer->peer_pvt);
-
- if (peer->mwi_pvt) /* We have an active subscription, delete it */
- peer->mwi_pvt = sip_destroy(peer->mwi_pvt);
+ if (peer->call)
+ peer->call = sip_destroy(peer->call);
+
+ if (peer->mwipvt) /* We have an active subscription, delete it */
+ peer->mwipvt = sip_destroy(peer->mwipvt);
if (peer->chanvars) {
ast_variables_destroy(peer->chanvars);
@@ -2676,6 +2676,7 @@
}
if (peer->expire > -1)
ast_sched_del(sched, peer->expire);
+
if (peer->pokeexpire > -1)
ast_sched_del(sched, peer->pokeexpire);
register_peer_exten(peer, FALSE);
@@ -2747,6 +2748,7 @@
ast_variables_destroy(var);
return NULL;
}
+
/* Peer found in realtime, now build it in memory */
peer = build_peer(newpeername, var, NULL, !ast_test_flag(&global_flags[1], SIP_PAGE2_RTCACHEFRIENDS));
@@ -3194,8 +3196,8 @@
ast_verbose("Really destroying SIP dialog '%s' Method: %s\n", p->callid, sip_methods[p->method].text);
/* Remove link from peer to subscription of MWI */
- if (p->relatedpeer && p->relatedpeer->mwi_pvt) /* XXX sip_destroy ? */
- p->relatedpeer->mwi_pvt = pvt_unref(p->relatedpeer->mwi_pvt);
+ if (p->relatedpeer && p->relatedpeer->mwipvt) /* XXX sip_destroy ? */
+ p->relatedpeer->mwipvt = pvt_unref(p->relatedpeer->mwipvt);
if (dumphistory)
sip_dump_history(p);
@@ -5067,6 +5069,7 @@
!strcasecmp(req->line[x + 1], "Content-Type: application/sdp")) {
x += 2;
req->sdp_start = x;
+
/* search for the end of the body part */
for ( ; x < req->lines; x++) {
if (!strncasecmp(req->line[x], boundary, strlen(boundary)))
@@ -5276,6 +5279,7 @@
ast_log(LOG_DEBUG, "Peer doesn't provide T.38 UDPTL\n");
}
}
+
if (p->rtp) {
if (portno > 0) {
@@ -7467,7 +7471,7 @@
case REG_STATE_TIMEOUT:
return "Timeout";
case REG_STATE_NOAUTH:
- return "Invalid Credentials";
+ return "No Authentication";
default:
return "Unknown";
}
@@ -7690,12 +7694,9 @@
add_header(&req, "User-Agent", global_useragent);
- if (auth) { /* Add auth header */
+ if (auth) /* Add auth header */
add_header(&req, authheader, auth);
- if (option_debug > 3)
- ast_verbose("REGISTER attempt %d to %s@%s, %s: %s\n",
- r->regattempts, r->username, r->hostname, authheader, auth);
- } else if (!ast_strlen_zero(r->nonce)) {
+ else if (!ast_strlen_zero(r->nonce)) {
char digest[1024];
/* We have auth data to reuse, build a digest header!
@@ -7762,8 +7763,8 @@
{
if (!p->refer)
return;
- if (p->refer->refer_pvt)
- p->refer->refer_pvt = pvt_unref(p->refer->refer_pvt);
+ if (p->refer->refer_call)
+ p->refer->refer_call = pvt_unref(p->refer->refer_call);
free(p->refer);
p->refer = NULL;
}
@@ -8023,7 +8024,7 @@
peer->addr.sin_family = AF_INET;
peer->addr.sin_addr = in;
peer->addr.sin_port = htons(port);
- if (__sipsock < 0) {
+ if (sipsock < 0) {
/* SIP isn't up yet, so schedule a poke only, pretty soon */
if (peer->pokeexpire > -1)
ast_sched_del(sched, peer->pokeexpire);
@@ -8198,8 +8199,10 @@
else
peer->username[0] = '\0';
- if (peer->expire > -1)
+ if (peer->expire > -1) {
ast_sched_del(sched, peer->expire);
+ peer->expire = -1;
+ }
if (expiry > max_expiry)
expiry = max_expiry;
if (expiry < min_expiry)
@@ -8512,6 +8515,7 @@
transmit_response_with_auth(p, response, req, p->randdata, reliable, respheader, FALSE);
}
+ /* Schedule auto destroy in 32 seconds */
sip_scheddestroy(p, DEFAULT_TRANS_TIMEOUT);
return AUTH_CHALLENGE_SENT;
}
@@ -8524,6 +8528,7 @@
/* Challenge again, and again, and again */
transmit_response_with_auth(p, response, req, p->randdata, reliable, respheader, 0);
sip_scheddestroy(p, DEFAULT_TRANS_TIMEOUT);
+
return AUTH_CHALLENGE_SENT;
}
@@ -8557,6 +8562,8 @@
switch(state) {
case AST_EXTENSION_DEACTIVATED: /* Retry after a while */
case AST_EXTENSION_REMOVED: /* Extension is gone */
+ if (p->autokillid > -1)
+ sip_cancel_destroy(p); /* Remove subscription expiry for renewals */
sip_scheddestroy(p, DEFAULT_TRANS_TIMEOUT); /* Delete subscription in 32 secs, possibly remove old sched. */
ast_verbose(VERBOSE_PREFIX_2 "Extension state: Watcher for hint %s %s. Notify User %s\n", exten, state == AST_EXTENSION_DEACTIVATED ? "deactivated" : "removed", p->username);
p->stateid = -1;
@@ -9257,8 +9264,8 @@
ast_copy_string(referdata->refer_to, c, sizeof(referdata->refer_to));
ast_copy_string(referdata->referred_by, "", sizeof(referdata->referred_by));
ast_copy_string(referdata->refer_contact, "", sizeof(referdata->refer_contact));
- if (referdata->refer_pvt)
- referdata->refer_pvt = pvt_unref(referdata->refer_pvt);
+ if (referdata->refer_call)
+ referdata->refer_call = pvt_unref(referdata->refer_call);
/* Set new context */
ast_string_field_set(p, context, transfer_context);
return 0;
@@ -12021,6 +12028,7 @@
ast_channel_unlock(chan);
return -1;
}
+
if (!strcasecmp(data, "peerip")) {
ast_copy_string(buf, p->sa.sin_addr.s_addr ? ast_inet_ntoa(p->sa.sin_addr) : "", len);
} else if (!strcasecmp(data, "recvip")) {
@@ -12355,14 +12363,13 @@
break;
case 481: /* Call leg does not exist */
- /* Could be REFER or INVITE with replaces */
+ /* Could be REFER caused INVITE with replaces */
ast_log(LOG_WARNING, "Re-invite to non-existing call leg on other UA. SIP dialog '%s'. Giving up.\n", p->callid);
transmit_request(p, SIP_ACK, seqno, XMIT_UNRELIABLE, FALSE);
if (p->owner)
ast_queue_control(p->owner, AST_CONTROL_CONGESTION);
sip_scheddestroy(p, DEFAULT_TRANS_TIMEOUT);
break;
-
case 487: /* Cancelled transaction */
/* We have sent CANCEL on an outbound INVITE
This transaction is already scheduled to be killed by sip_hangup().
@@ -12373,7 +12380,6 @@
else if (!ast_test_flag(req, SIP_PKT_IGNORE))
update_call_counter(p, DEC_CALL_LIMIT);
break;
-
case 491: /* Pending */
/* we really should have to wait a while, then retransmit */
/* We should support the retry-after at some point */
@@ -12426,6 +12432,7 @@
}
break;
case 481: /* Call leg does not exist */
+
/* A transfer with Replaces did not work */
/* OEJ: We should Set flag, cancel the REFER, go back
to original call - but right now we can't */
@@ -12443,7 +12450,6 @@
set_destroy(p);
p->refer->status = REFER_FAILED;
break;
-
case 603: /* Transfer declined */
ast_log(LOG_NOTICE, "SIP transfer to %s declined, call miserably fails. \n", p->refer->refer_to);
p->refer->status = REFER_FAILED;
@@ -12663,8 +12669,8 @@
peer->lastms = pingtime;
/* XXX do we need to unlink too ? */
- if (peer->peer_pvt)
- peer->peer_pvt = pvt_unref(peer->peer_pvt);
+ if (peer->call)
+ peer->call = pvt_unref(peer->call);
if (statechanged) {
const char *s = is_reachable ? "Reachable" : "Lagged";
@@ -12840,6 +12846,7 @@
if (ast_strlen_zero(p->authname)) {
ast_log(LOG_WARNING, "Asked to authenticate %s, to %s:%d but we have no matching peer!\n",
msg, ast_inet_ntoa(p->recv.sin_addr), ntohs(p->recv.sin_port));
+ /* XXX is this in or out of the block ? */
set_destroy(p);
}
if (p->authtries == MAX_AUTHTRIES || do_proxy_auth(p, req, 407, sipmethod, 0)) {
@@ -12872,12 +12879,10 @@
/* Guessing that this is not an important request */
}
break;
-
case 487:
if (sipmethod == SIP_INVITE)
handle_response_invite(p, resp, rest, req, seqno);
break;
-
case 491: /* Pending */
if (sipmethod == SIP_INVITE)
handle_response_invite(p, resp, rest, req, seqno);
@@ -13524,7 +13529,7 @@
int earlyreplace = 0;
int oneleggedreplace = 0; /* Call with no bridge, propably IVR or voice message */
struct ast_channel *c = p->owner; /* Our incoming call */
- struct ast_channel *replacecall = p->refer->refer_pvt->owner; /* The channel we're about to take over */
+ struct ast_channel *replacecall = p->refer->refer_call->owner; /* The channel we're about to take over */
struct ast_channel *targetcall; /* The bridge to the take-over target */
/* Check if we're in ring state */
@@ -13558,7 +13563,7 @@
transmit_response_with_sdp(p, "200 OK", req, XMIT_RELIABLE);
/* Do something more clever here */
ast_channel_unlock(c);
- sip_pvt_unlock(p->refer->refer_pvt);
+ sip_pvt_unlock(p->refer->refer_call);
return 1;
}
/* XXX this block is wrong here, we already assumed c != NULL above */
@@ -13568,7 +13573,7 @@
transmit_response_reliable(p, "503 Service Unavailable", req);
append_history(p, "Xfer", "INVITE/Replace Failed. No new channel.");
sip_scheddestroy(p, DEFAULT_TRANS_TIMEOUT);
- sip_pvt_unlock(p->refer->refer_pvt);
+ sip_pvt_unlock(p->refer->refer_call);
return 1;
}
append_history(p, "Xfer", "INVITE/Replace received");
@@ -13602,10 +13607,10 @@
ast_channel_unlock(c);
/* Unlock PVT */
- sip_pvt_unlock(p->refer->refer_pvt);
+ sip_pvt_unlock(p->refer->refer_call);
/* Make sure that the masq does not free our PVT for the old call */
- ast_set_flag(&p->refer->refer_pvt->flags[0], SIP_DEFER_BYE_ON_TRANSFER); /* Delay hangup */
+ ast_set_flag(&p->refer->refer_call->flags[0], SIP_DEFER_BYE_ON_TRANSFER); /* Delay hangup */
/* Prepare the masquerade - if this does not happen, we will be gone */
if(ast_channel_masquerade(replacecall, c))
@@ -13643,7 +13648,7 @@
}
ast_channel_unlock(replacecall);
}
- sip_pvt_unlock(p->refer->refer_pvt);
+ sip_pvt_unlock(p->refer->refer_call);
ast_setstate(c, AST_STATE_DOWN);
if (option_debug > 3) {
@@ -13733,6 +13738,7 @@
transmit_response(p, "491 Request Pending", req);
if (option_debug)
ast_log(LOG_DEBUG, "Got INVITE on call where we already have pending INVITE, deferring that - %s\n", p->callid);
+ /* Don't destroy dialog here */
return 0;
}
@@ -13795,13 +13801,13 @@
/* Try to find call that we are replacing
If we have a Replaces header, we need to cancel that call if we succeed with this call
*/
- /* XXX do we have a previous refer_pvt ? */
- if (p->refer->refer_pvt) {
- ast_log(LOG_DEBUG, "-- note, refer_pvt %p for %p is going to be replaced\n",
- p->refer->refer_pvt, p);
- p->refer->refer_pvt = pvt_unref(p->refer->refer_pvt);
- }
- if ((p->refer->refer_pvt = get_sip_pvt_byid_locked(replace_id, totag, fromtag)) == NULL) {
+ /* XXX do we have a previous refer_call ? */
+ if (p->refer->refer_call) {
+ ast_log(LOG_DEBUG, "-- note, refer_call %p for %p is going to be replaced\n",
+ p->refer->refer_call, p);
+ p->refer->refer_call = pvt_unref(p->refer->refer_call);
+ }
+ if ((p->refer->refer_call = get_sip_pvt_byid_locked(replace_id, totag, fromtag)) == NULL) {
ast_log(LOG_NOTICE, "Supervised transfer attempted to replace non-existent call id (%s)!\n", replace_id);
transmit_response(p, "481 Call Leg Does Not Exist (Replaces)", req);
error = 1;
@@ -13813,14 +13819,14 @@
We want to bridge the bridged part of the call to the
incoming invite, thus taking over the refered call */
- if (p->refer->refer_pvt == p) {
+ if (p->refer->refer_call == p) {
ast_log(LOG_NOTICE, "INVITE with replaces into it's own call id (%s == %s)!\n", replace_id, p->callid);
- p->refer->refer_pvt = pvt_unref(p->refer->refer_pvt);
+ p->refer->refer_call = pvt_unref(p->refer->refer_call);
transmit_response(p, "400 Bad request", req); /* The best way to not not accept the transfer */
error = 1;
}
- if (!error && !p->refer->refer_pvt->owner) {
+ if (!error && !p->refer->refer_call->owner) {
/* Oops, someting wrong anyway, no owner, no call */
ast_log(LOG_NOTICE, "Supervised transfer attempted to replace non-existing call id (%s)!\n", replace_id);
/* Check for better return code */
@@ -13828,7 +13834,7 @@
error = 1;
}
- if (!error && p->refer->refer_pvt->owner->_state != AST_STATE_RING && p->refer->refer_pvt->owner->_state != AST_STATE_UP ) {
+ if (!error && p->refer->refer_call->owner->_state != AST_STATE_RING && p->refer->refer_call->owner->_state != AST_STATE_UP ) {
ast_log(LOG_NOTICE, "Supervised transfer attempted to replace non-ringing or active call id (%s)!\n", replace_id);
transmit_response(p, "603 Declined (Replaces)", req);
error = 1;
@@ -13838,9 +13844,9 @@
append_history(p, "Xfer", "INVITE/Replace Failed.");
sip_scheddestroy(p, DEFAULT_TRANS_TIMEOUT);
sip_pvt_unlock(p);
- if (p->refer->refer_pvt) { /* XXX what's the right order here ? */
- sip_pvt_unlock(p->refer->refer_pvt);
- ast_channel_unlock(p->refer->refer_pvt->owner);
+ if (p->refer->refer_call) { /* XXX what's the right order here ? */
+ sip_pvt_unlock(p->refer->refer_call);
+ ast_channel_unlock(p->refer->refer_call->owner);
}
return -1;
}
@@ -14109,6 +14115,7 @@
transmit_response(p, "488 Not acceptable here", req);
else
transmit_response_reliable(p, "488 Not acceptable here", req);
+
}
} else {
/* The other side is already setup for T.38 most likely so we need to acknowledge this too */
@@ -14682,7 +14689,6 @@
p->invitestate = INV_TERMINATED;
copy_request(&p->initreq, req);
-
if (sipdebug && option_debug)
ast_log(LOG_DEBUG, "Initializing initreq for method %s - callid %s\n", sip_methods[req->method].text, p->callid);
check_via(p, req);
@@ -14923,14 +14929,14 @@
}
p->subscribed = MWI_NOTIFICATION;
- if (authpeer->mwi_pvt) {
+ if (authpeer->mwipvt) {
/* We only allow one subscription per peer */
- if (authpeer->mwi_pvt != p) /* Destroy old PVT if this is a new one */
- sip_destroy(authpeer->mwi_pvt);
+ if (authpeer->mwipvt != p) /* Destroy old PVT if this is a new one */
+ sip_destroy(authpeer->mwipvt);
else
- pvt_unref(authpeer->mwi_pvt);
- }
- authpeer->mwi_pvt = pvt_ref(p); /* Link from peer to pvt */
+ pvt_unref(authpeer->mwipvt);
+ }
+ authpeer->mwipvt = pvt_ref(p); /* Link from peer to pvt */
p->relatedpeer = authpeer; /* Link from pvt to peer */
/* Do not release authpeer here */
} else { /* At this point, Asterisk does not understand the specified event */
@@ -15328,12 +15334,12 @@
ast_mark(prof_memset, 0);
/*
* There is a short window during a reload when recvfrom
- * might fail because __sipsock is being closed and reopened.
+ * might fail because sipsock is being closed and reopened.
* Just live with it, it is not fatal, the network could have
* dropped the packet anyways.
*/
ast_mark(prof_recv, 1);
- res = recvfrom(__sipsock, req.data, buflen, 0, (struct sockaddr *)&sin, &len);
+ res = recvfrom(sipsock, req.data, buflen, 0, (struct sockaddr *)&sin, &len);
ast_mark(prof_recv, 0);
if (res < 0) {
#if !defined(__FreeBSD__)
@@ -15471,9 +15477,9 @@
peer->lastmsgssent = ((newmsgs > 0x7fff ? 0x7fff0000 : (newmsgs << 16)) | (oldmsgs > 0xffff ? 0xffff : oldmsgs));
- if (peer->mwi_pvt) {
+ if (peer->mwipvt) {
/* Base message on subscription */
- p = pvt_ref(peer->mwi_pvt);
+ p = pvt_ref(peer->mwipvt);
} else {
/* Build temporary dialog for this message */
if (!(p = sip_alloc(NULL, NULL, 0, SIP_NOTIFY)))
@@ -15504,7 +15510,7 @@
time_t t = time(NULL);
if (ast_test_flag(&peer->flags[1], SIP_PAGE2_SUBSCRIBEMWIONLY) &&
- !peer->mwi_pvt) { /* We don't have a subscription */
+ !peer->mwipvt) { /* We don't have a subscription */
peer->lastmsgcheck = t; /* Reset timer */
return FALSE;
}
@@ -15749,8 +15755,8 @@
ast_log(LOG_NOTICE, "Peer '%s' is now UNREACHABLE! Last qualify: %d\n", peer->name, peer->lastms);
manager_event(EVENT_FLAG_SYSTEM, "PeerStatus", "Peer: SIP/%s\r\nPeerStatus: Unreachable\r\nTime: %d\r\n", peer->name, -1);
}
- if (peer->peer_pvt)
- peer->peer_pvt = sip_destroy(peer->peer_pvt);
+ if (peer->call)
+ peer->call = sip_destroy(peer->call);
peer->lastms = -1;
ast_device_state_changed("SIP/%s", peer->name);
/* Try again quickly */
@@ -15772,16 +15778,16 @@
ast_sched_del(sched, peer->pokeexpire);
peer->lastms = 0;
peer->pokeexpire = -1;
- if (peer->peer_pvt) /* XXX or sip_destroy() ? */
- peer->peer_pvt = sip_destroy(peer->peer_pvt);
+ if (peer->call) /* XXX or sip_destroy() ? */
+ peer->call = sip_destroy(peer->call);
return 0;
}
- if (peer->peer_pvt) {
+ if (peer->call) {
if (sipdebug)
ast_log(LOG_NOTICE, "Still have a QUALIFY dialog active, deleting\n");
- peer->peer_pvt = sip_destroy(peer->peer_pvt);
- }
- if (!(p = peer->peer_pvt = sip_alloc(NULL, NULL, 0, SIP_OPTIONS)))
+ peer->call = sip_destroy(peer->call);
+ }
+ if (!(p = peer->call = sip_alloc(NULL, NULL, 0, SIP_OPTIONS)))
return -1;
p->sa = peer->addr;
@@ -17111,11 +17117,11 @@
* At the beginning, sipsock = -1 and old_bindaddr = 0:0 so
* we detect a change easily.
*/
- if (__sipsock == -1 || memcmp(&old_bindaddr, &bindaddr, sizeof(struct sockaddr_in))) {
+ if (sipsock == -1 || memcmp(&old_bindaddr, &bindaddr, sizeof(struct sockaddr_in))) {
/* address changed, or previous open failed */
- int my_socket = __sipsock;
-
- __sipsock = -1; /* it is changing... */
+ int my_socket = sipsock;
+
+ sipsock = -1; /* it is changing... */
if (my_socket > -1) {
ast_io_remove(io, sipsock_read_id);
close(my_socket);
@@ -17146,8 +17152,8 @@
ast_log(LOG_WARNING, "Unable to set SIP TOS to %s\n", ast_tos2str(global_tos_sip));
else if (option_verbose > 1)
ast_verbose(VERBOSE_PREFIX_2 "Using SIP TOS: %s\n", ast_tos2str(global_tos_sip));
- __sipsock = my_socket;
- sipsock_read_id = ast_io_add(io, __sipsock, sipsock_read, AST_IO_IN, NULL);
+ sipsock = my_socket;
+ sipsock_read_id = ast_io_add(io, sipsock, sipsock_read, AST_IO_IN, NULL);
}
}
}
@@ -17932,7 +17938,7 @@
clear_realm_authentication(authl);
clear_sip_domains();
- close(__sipsock);
+ close(sipsock);
sched_context_destroy(sched);
return 0;
More information about the asterisk-commits
mailing list