[Home]

Summary:ASTERISK-07314: SIP 302 responses do not fill CALLERID(RDNIS)
Reporter:Andrew Kohlsmith (akohlsmith)Labels:
Date Opened:2006-08-14 14:12:19Date Closed:2011-06-07 14:08:09
Priority:MinorRegression?No
Status:Closed/CompleteComponents: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.