Issue #6736 - use flags for OPTIONs messages
authorOlle Johansson <oej@edvina.net>
Mon, 27 Mar 2006 23:49:44 +0000 (23:49 +0000)
committerOlle Johansson <oej@edvina.net>
Mon, 27 Mar 2006 23:49:44 +0000 (23:49 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@15382 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_sip.c

index 5ad3aff..c3b7f9e 100644 (file)
@@ -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);