From ddaeaae21400b261daa1b054eff9205d58c645dc Mon Sep 17 00:00:00 2001 From: Olle Johansson Date: Mon, 27 Mar 2006 23:49:44 +0000 Subject: [PATCH] Issue #6736 - use flags for OPTIONs messages git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@15382 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_sip.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 5ad3affedf..c3b7f9e2cf 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -5584,7 +5584,7 @@ static int transmit_register(struct sip_registry *r, int sipmethod, char *auth, p->sa.sin_port = htons(r->portno); else /* Set registry port to the port set from the peer definition/srv or default */ r->portno = p->sa.sin_port; - ast_set_flag(p, SIP_OUTGOING); /* Registration is outgoing call */ + ast_set_flag(&p->flags[0], SIP_OUTGOING); /* Registration is outgoing call */ r->call=p; /* Save pointer to SIP packet */ p->registry = ASTOBJ_REF(r); /* Add pointer to registry in packet */ if (!ast_strlen_zero(r->secret)) /* Secret (password) */ @@ -11668,6 +11668,7 @@ static int sip_poke_noanswer(void *data) static int sip_poke_peer(struct sip_peer *peer) { struct sip_pvt *p; + if (!peer->maxms || !peer->addr.sin_addr.s_addr) { /* IF we have no IP, or this isn't to be monitored, return imeediately after clearing things out */ @@ -11688,8 +11689,10 @@ static int sip_poke_peer(struct sip_peer *peer) memcpy(&p->sa, &peer->addr, sizeof(p->sa)); memcpy(&p->recv, &peer->addr, sizeof(p->sa)); + ast_copy_flags(&peer->flags[0], &global_flags[0], SIP_FLAGS_TO_COPY); + ast_copy_flags(&peer->flags[1], &global_flags[1], SIP_PAGE2_FLAGS_TO_COPY); - /* Send options to peer's fullcontact */ + /* Send OPTIONs to peer's fullcontact */ if (!ast_strlen_zero(peer->fullcontact)) ast_string_field_set(p, fullcontact, peer->fullcontact);