diff --git a/channels/chan_sip.c b/channels/chan_sip.c index d3fd37045dba8bfb96b51f76ca91c13d44a2e666..73b7eeb4165ae5c2b9389a1063b176fbe55243a1 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -9047,7 +9047,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, };