int regstate;
int callid_valid; /* 0 means we haven't chosen callid for this registry yet. */
char callid[80]; /* Global CallID for this registry */
+ unsigned int ocseq; /* Sequence number we got to for REGISTERs for this registry */
struct sockaddr_in us; /* Who the server thinks we are */
struct sip_registry *next;
};
reg->addr.sin_port = porta ? htons(atoi(porta)) : htons(DEFAULT_SIP_PORT);
reg->next = registrations;
reg->callid_valid = 0;
+ reg->ocseq = 101;
registrations = reg;
} else {
ast_log(LOG_ERROR, "Out of memory\n");
memset(&req, 0, sizeof(req));
init_req(&req, cmd, addr);
- snprintf(tmp, sizeof(tmp), "%d %s", ++p->ocseq, cmd);
+ snprintf(tmp, sizeof(tmp), "%u %s", ++r->ocseq, cmd);
+ p->ocseq = r->ocseq;
snprintf(via, sizeof(via), "SIP/2.0/UDP %s:%d;branch=z9hG4bK%08x", inet_ntoa(p->ourip), ourport, p->branch);
add_header(&req, "Via", via);