Summary: | ASTERISK-16516: SIP REFER auth fails, RTP timeout ignored, and other discrepancies between e/ingress calls | ||
Reporter: | Kirill Katsnelson (kkm) | Labels: | |
Date Opened: | 2010-08-06 01:22:22 | Date Closed: | |
Priority: | Minor | Regression? | No |
Status: | Open/New | Components: | Channels/chan_sip/General |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ( 0) 17805-issue-analysis.txt | |
Description: | The following per-peer parameters in sip.conf are ignored for incoming calls, but applied correctly to outgoing calls: auth= :: if incoming call is transferred by Transfer() dialplan application, user name and secret not used when constructing the digest in reply to the 407 response. rtptimeout= :: overrides global value of the same for outgoing calls but not for incoming calls. ****** ADDITIONAL INFORMATION ****** Dialog fields (sip_pvt) are set up by different functions in case of incoming and outgoing INVITEs: incoming dialog is set up in the function check_peer_ok(), and the outgoing one in create_addr_from_peer(). Some fields are set in one but not in another. In particular, the peerauth field is set only in create_addr_from_peer(), and that's the cause for REFER authentication failure. The field rtptimeout is set, and a whole block of RTP setup code is also only in create_addr_from_peer(), and that is the reason for the second one. I am attaching a file with the synopsys of dialog fields and set up functions called in both and in either of the two. An obvious fix would be to create a common set up function called from both; for someone who understands the code, that's a quarter-hour job. I am not qualified to tell which fields are not correctly set in each of the 2 functions, and which are left out by mistake. Hope my analysis would help someone in fixing that issue. | ||
Comments: | By: Leif Madsen (lmadsen) 2010-08-06 12:51:22 Oops, I switched this to IPv6 thinking you meant an IP address of :: -- too much IPv6 lately :) By: Kirill Katsnelson (kkm) 2010-08-06 18:01:49 I am sorry, that's my bad -- I really chose a confusing separator symbol. No IPv6 around here... |