[SOLVED] REGISTER problem with old fax ATA

hello,

I get the following probleme with a sagem ata 101s equipment and the 1.8.7 astersik version.
The ata send the register packet and asterisk does not respond.
With tcpdump, I think I found the problem.
There is no tag parameter is send whith the From: indication.
I did some test with netcat and manualy add a tag parameter and it works.
For that sagem there is no forware update :frowning: so

Question :
Is there any asterisk parameter to “bypass” the missing tag parameter ?

Laurent


REGISTER sip:192.168.9.5 SIP/2.0
Via: SIP/2.0/UDP 192.168.110.116:5060;rport
To: fax_sagem sip:fax_sagem@192.168.9.5
From: fax_sagem sip:fax_sagem@192.168.9.5
Call-ID: sagemx-Reg19564@192.168.110.116
CSeq: 431 REGISTER
Contact: sip:fax_sagem@192.168.110.116:5060;q=0.8
Expires: 3600
Max-Forwards: 70
Content-Length: 0

-> Asterisk do not respond


REGISTER sip:192.168.9.5 SIP/2.0
Via: SIP/2.0/UDP 192.168.110.116:5060;rport
To: fax_sagem sip:fax_sagem@192.168.9.5
From: fax_sagem sip:fax_sagem@192.168.9.5;tag=DrAf2-mgYqF
Call-ID: sagemx-Reg19564@192.168.110.116
CSeq: 431 REGISTER
Contact: sip:fax_sagem@192.168.110.116:5060;q=0.8
Expires: 3600
Max-Forwards: 70
Content-Length: 0

-> Asterisk respond

I believe that there is a parameter which controls pedantic SIP compliance (with “pedantic” in its name) which recently changed from defaulting to false to defaulting to true. However, it should be returning a 481 response:

if (sip_cfg.pedanticsipchecking) { /* If this is a request packet without a from tag, it's not correct according to RFC 3261 */ /* Check if this a new request in a new dialog with a totag already attached to it, RFC 3261 - section 12.2 - and we don't want to mess with recovery */ if (!p->initreq.headers && req->has_to_tag) { /* If this is a first request and it got a to-tag, it is not for us */ if (!req->ignore && req->method == SIP_INVITE) { transmit_response_reliable(p, "481 Call/Transaction Does Not Exist", req); /* Will cease to exist after ACK */ } else if (req->method != SIP_ACK) { transmit_response(p, "481 Call/Transaction Does Not Exist", req); sip_scheddestroy(p, DEFAULT_TRANS_TIMEOUT); } else { ast_debug(1, "Got ACK for unknown dialog... strange.\n"); } return res;

Thank you for reply,
but asterisk still not answering the register packet :frowning:

oups ! my bad.

I didn’t used the pedantic asterisk parameter in [general] section !

It works, thank you very much

If turning off pedantic mode doesn’t help, and in any case, because of the lack of a 481, you need to collect SIP debugging information, see wiki.asterisk.org/wiki/display/ … nformation

I suspect the REGISTER is getting blocked before it reaches Asterisk.