diff --git a/channels/chan_sip.c b/channels/chan_sip.c index ab1d6a5ff0..a94bdf9a84 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -9233,7 +9233,8 @@ static struct sip_pvt *find_call(struct sip_request *req, struct ast_sockaddr *a } } - if (!sip_cfg.pedanticsipchecking) { + /* match on callid only for REGISTERs */ + if (!sip_cfg.pedanticsipchecking || req->method == SIP_REGISTER) { struct sip_pvt tmp_dialog = { .callid = callid, };