Summary: | ASTERISK-07314: SIP 302 responses do not fill CALLERID(RDNIS) | ||
Reporter: | Andrew Kohlsmith (akohlsmith) | Labels: | |
Date Opened: | 2006-08-14 14:12:19 | Date Closed: | 2011-06-07 14:08:09 |
Priority: | Minor | Regression? | No |
Status: | Closed/Complete | Components: | Core/General |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ||
Description: | Asterisk correctly responds to SIP 302 (moved temporarily) messages, but if I want to use the Dial() 'i' (ignore forwards) flag and do some processing before calling the redirected number, I can't get access to the number to call. ****** ADDITIONAL INFORMATION ****** The phone with the forward enabled is correctly responding and filling out the "Contact" header correctly. chan_sip just doesn't use it to fill the RDNIS field. | ||
Comments: | By: Andrew Kohlsmith (akohlsmith) 2006-08-14 14:15:20 here's a sip debug on the peer with the forward enabled. I place a call from SIP/500 to SIP/501 with a Dial(SIP/501,,i) followed by a NoOp showing DIALSTATUS, DNID and RDNIS. SIP/501 is responding with a 302 to extension 502: -- Executing [501@fxs:1] Dial("SIP/500-a043", "SIP/501||i") in new stack Audio is at 192.168.77.8 port 10306 Adding codec 0x4 (ulaw) to SDP Adding non-codec 0x1 (telephone-event) to SDP Reliably Transmitting (no NAT) to 192.168.77.102:5060: INVITE sip:501@192.168.77.102 SIP/2.0 Via: SIP/2.0/UDP 192.168.77.8:5060;branch=z9hG4bK1e30ce0c;rport From: "Cordless" <sip:500@192.168.77.8>;tag=as15230caf To: <sip:501@192.168.77.102> Contact: <sip:500@192.168.77.8> Call-ID: 613cbc0e79606b2151a86ee70a6efe87@192.168.77.8 CSeq: 102 INVITE User-Agent: Asterisk PBX Max-Forwards: 70 Date: Mon, 14 Aug 2006 18:56:19 GMT Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: 232 v=0 o=root 19543 19543 IN IP4 192.168.77.103 s=session c=IN IP4 192.168.77.103 t=0 0 m=audio 10010 RTP/AVP 0 101 a=rtpmap:0 PCMU/8000 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-16 a=silenceSupp:off - - - - a=sendrecv --- -- Called 501 <-- SIP read from 192.168.77.102:5060: SIP/2.0 100 Trying Via: SIP/2.0/UDP 192.168.77.8:5060;branch=z9hG4bK1e30ce0c;rport From: "Cordless" <sip:500@192.168.77.8>;tag=as15230caf To: <sip:501@192.168.77.102>;tag=E52A5C08-297C8373 CSeq: 102 INVITE Call-ID: 613cbc0e79606b2151a86ee70a6efe87@192.168.77.8 Contact: <sip:501@192.168.77.102> User-Agent: PolycomSoundPointIP-SPIP_501-UA/1.6.5.0043 Content-Length: 0 --- (9 headers 0 lines)--- <-- SIP read from 192.168.77.102:5060: SIP/2.0 302 Moved Temporarily Via: SIP/2.0/UDP 192.168.77.8:5060;branch=z9hG4bK1e30ce0c;rport From: "Cordless" <sip:500@192.168.77.8>;tag=as15230caf To: <sip:501@192.168.77.102>;tag=E52A5C08-297C8373 CSeq: 102 INVITE Call-ID: 613cbc0e79606b2151a86ee70a6efe87@192.168.77.8 Contact: <sip:502@192.168.77.8:5060> User-Agent: PolycomSoundPointIP-SPIP_501-UA/1.6.5.0043 Diversion: <sip:501@192.168.77.102>;reason="deflection" Content-Length: 0 --- (10 headers 0 lines)--- -- Got SIP response 302 "Moved Temporarily" back from 192.168.77.102 Transmitting (no NAT) to 192.168.77.102:5060: ACK sip:501@192.168.77.102 SIP/2.0 Via: SIP/2.0/UDP 192.168.77.8:5060;branch=z9hG4bK1e30ce0c;rport From: "Cordless" <sip:500@192.168.77.8>;tag=as15230caf To: <sip:501@192.168.77.102>;tag=E52A5C08-297C8373 Contact: <sip:500@192.168.77.8> Call-ID: 613cbc0e79606b2151a86ee70a6efe87@192.168.77.8 CSeq: 102 ACK User-Agent: Asterisk PBX Max-Forwards: 70 Content-Length: 0 --- -- Now forwarding SIP/500-a043 to 'Local/502@fxs' (thanks to SIP/501-d016) -- Forwarding SIP/500-a043 to 'Local/502@fxs' prevented. == Everyone is busy/congested at this time (1:1/0/0) -- Executing [501@fxs:2] NoOp("SIP/500-a043", "got past the forward| DIALSTATUS is BUSY| rdnis is , dnid is 501") in new stack By: inspired (inspired) 2006-08-15 03:56:10 Similar behavior in 1.2.10 seen. It would be great if chan_sip would automatically change the channel var CALLERID(rdnis) on a 302 redirect. By: Andrew Kohlsmith (akohlsmith) 2006-08-15 10:08:07 Actually you want CALLERID(DNID) to be the number to call, and CALLERID(RDNIS) to be the number that was originally called (and returned the 302) -- this would match up with what the telco definitions of DNID and RDNIS. By: Serge Vecher (serge-v) 2006-09-06 11:04:31 ok, 29467 is a bit dated, how about r >42000? By: Joshua C. Colp (jcolp) 2006-09-06 14:10:01 Suspended per IRC discussion with akohlsmith. |