Summary: | ASTERISK-06998: Wrong account selected on inbound calls | ||
Reporter: | Ivar Dahl (ivar) | Labels: | |
Date Opened: | 2006-05-19 06:50:54 | Date Closed: | 2006-05-19 10:30:21 |
Priority: | Major | Regression? | No |
Status: | Closed/Complete | Components: | Core/General |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ||
Description: | Refiled, since tholo's original report was hijacked System setup: Three phones across two systems as follows: Two IAXys on one system, each with its own account One IAXy on a target system The source system has two IAX user entries for the target system, "voop-trunk1" and "voop-trunk2", and peer entries on the target system named "multi1" and "multi2". The IAXys are set up such that they each will call out using a separate peer entry to different users on the target system. When the call comes in on the target system, it works fine for one of the two, while the other always pick the wrong entry. Which one works and which one does not depends on the order in which they are defined on the target system's iax.conf. It appears that the specified account in the IAX call setup is being ignored...?? Relevant sections from configuration files and console logs below. ****** ADDITIONAL INFORMATION ****** iax.conf on calling system: [multi2] type=user auth=md5 secret=*** context=multi2-inbound trunk=yes notransfer=yes allow=ulaw [multi1] type=user auth=md5 secret=*** context=multi1-inbound trunk=yes notransfer=yes allow=ulaw [voop-trunk1] type=peer auth=md5 secret=*** host=<some_host> qualify=yes trunk=yes sendani=yes notransfer=yes allow=ulaw [voop-trunk2] type=peer auth=md5 secret=*** host=<some_host> qualify=yes trunk=yes sendani=yes notransfer=yes allow=ulaw [jaxxyi1] type=friend secret=jaxxyi1 auth=md5 context=multi1-outbound host=dynamic trunk=no notransfer=yes accountcode=multi1 allow=ulaw sendani=no qualify=yes callerid="Ivar Dahl test multi1" <55606690> [jaxxyi2] type=friend secret=jaxxyi2 auth=md5 context=multi2-outbound host=dynamic trunk=no notransfer=yes accountcode=multi2 allow=ulaw sendani=no qualify=yes callerid="Ivar Dahl test multi2" <55606692> ********* ********* extensions.conf on calling system: [multi1-outbound] ignorepat => 0 exten => _0X.,1,NoOp(multi1-outbound, ${EXTEN}) exten => _0X.,n,Dial(IAX2/multi1@voop-trunk1/${EXTEN:1}) [multi2-outbound] ignorepat => 0 exten => _0X.,1,NoOp(multi2-outbound, ${EXTEN}) exten => _0X.,n,Dial(IAX2/multi2@voop-trunk2/${EXTEN:1}) ********** ********** iax.conf on target system: [multi1] type=user auth=md5 secret=*** context=multi1-inbound trunk=yes notransfer=yes allow=ulaw [multi2] type=user auth=md5 secret=*** context=multi2-inbound trunk=yes notransfer=yes allow=ulaw [multi1] type=peer auth=md5 secret=*** host=dynamic qualify=yes trunk=yes sendani=yes notransfer=yes [multi2] type=peer auth=md5 secret=*** host=dynamic qualify=yes trunk=yes sendani=yes notransfer=yes [iv-iaxy] type=friend auth=md5 secret=*** context=international host=dynamic qualify=yes trunk=no disallow=all allow=ulaw callerid="Ivartest" <5558888888> accountcode=ivartest *********** *********** extensions.conf on target system: [multi1-inbound] exten => 100,1,Dial(IAX2/iv-iaxy/${EXTEN}) exten => 100,n,Congestion [multi2-inbound] exten => 100,1,Dial(IAX2/iv-iaxy/${EXTEN}) exten => 100,n,Congestion ************ ************ Console output from calling system: Using the account "multi1": -- Accepted AUTHENTICATED TBD call from 192.168.10.230 -- Accepting DIAL from 192.168.10.230, formats = 0x4 -- Executing NoOp("IAX2/jaxxyi1-9", "multi1-outbound| 0100") in new stack -- Executing Dial("IAX2/jaxxyi1-9", "IAX2/multi1@voop-trunk1/100") in new stack -- Called multi1@voop-trunk1/100 -- Call accepted by 80.239.99.103 (format ulaw) -- Format for call is ulaw -- IAX2/voop-trunk1-16384 is ringing -- Hungup 'IAX2/voop-trunk1-16384' == Spawn extension (multi1-outbound, 0100, 2) exited non-zero on 'IAX2/jaxxyi1-9' -- Hungup 'IAX2/jaxxyi1-9' Using the account "multi2": -- Accepted AUTHENTICATED TBD call from 192.168.10.228 -- Accepting DIAL from 192.168.10.228, formats = 0x4 -- Executing NoOp("IAX2/jaxxyi2-12", "multi2-outbound| 0100") in new stack -- Executing Dial("IAX2/jaxxyi2-12", "IAX2/multi2@voop-trunk2/100") in new stack -- Called multi2@voop-trunk2/100 -- Call accepted by 80.239.99.103 (format ulaw) -- Format for call is ulaw -- IAX2/voop-trunk2-16385 is ringing -- Hungup 'IAX2/voop-trunk2-16385' == Spawn extension (multi2-outbound, 0100, 2) exited non-zero on 'IAX2/jaxxyi2-12' -- Hungup 'IAX2/jaxxyi2-12' ********** ********** Console ouput from target system: Using the account "multi1": -- Accepting AUTHENTICATED call from 62.97.242.6: > requested format = ulaw, > requested prefs = (), > actual format = ulaw, > host prefs = (ulaw), > priority = mine -- Executing Dial("IAX2/multi2-4", "IAX2/iv-iaxy/100") in new stack -- Called iv-iaxy/100 -- Call accepted by 62.97.242.6 (format ulaw) -- Format for call is ulaw -- IAX2/iv-iaxy-5 is ringing -- Hungup 'IAX2/iv-iaxy-5' == Spawn extension (multi1-inbound, 100, 1) exited non-zero on 'IAX2/multi2-4' -- Hungup 'IAX2/multi2-4' Using the account "multi2": -- Accepting AUTHENTICATED call from 62.97.242.6: > requested format = ulaw, > requested prefs = (), > actual format = ulaw, > host prefs = (ulaw), > priority = mine -- Executing Dial("IAX2/multi2-8", "IAX2/iv-iaxy/100") in new stack -- Called iv-iaxy/100 -- Call accepted by 62.97.242.6 (format ulaw) -- Format for call is ulaw -- IAX2/iv-iaxy-15 is ringing -- Hungup 'IAX2/iv-iaxy-15' == Spawn extension (multi2-inbound, 100, 1) exited non-zero on 'IAX2/multi2-8' -- Hungup 'IAX2/multi2-8' ********** The target system picks multi2 regardless... | ||
Comments: | By: Joshua C. Colp (jcolp) 2006-05-19 08:06:08 No, everything is working fine. As you can clearly see they are going to the two different contexts: Spawn extension (multi1-inbound, 100, 1) exited non-zero on 'IAX2/multi2-4' Spawn extension (multi2-inbound, 100, 1) exited non-zero on 'IAX2/multi2-8' Your confusion is coming from the way that the channel name is generated. As a feature when a channel name is generated, a peer name matching the IP address that the packet came from is searched for, and if found is used in the channel name. Understand? By: Joshua C. Colp (jcolp) 2006-05-19 10:30:21 Closing because this is not a bug, it's the way it works. If you want to talk more post to the asterisk-dev mailing list or reopen this. |