mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-31 02:37:10 +00:00 
			
		
		
		
	don't force a default zone for ENUM() lookups, use the configuration file (issue #6036, with update to UPGRADE.txt)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@10047 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
		| @@ -40,6 +40,9 @@ Functions: | ||||
|   modules.conf file then you will need to explicitly load the modules that | ||||
|   contain the functions you want to use. | ||||
|  | ||||
| * The ENUM() function no longer supplies a default zone for searching; instead, | ||||
|   it uses the default zone(s) defined in enum.conf. | ||||
|  | ||||
| The SIP channel: | ||||
|  | ||||
| * The "incominglimit" setting is replaced by the "call-limit" setting in sip.conf. | ||||
|   | ||||
							
								
								
									
										46
									
								
								doc/enum.txt
									
									
									
									
									
								
							
							
						
						
									
										46
									
								
								doc/enum.txt
									
									
									
									
									
								
							| @@ -64,7 +64,8 @@ options = optional specifiers. | ||||
|     ordinal list starting with 1 (by order first, then priority). | ||||
|     The default of <options> is "1" | ||||
|   | ||||
| zone_suffix = allows customization of the ENUM zone. Default is e164.arpa. | ||||
| zone_suffix = allows customization of the ENUM zone. If no zone_suffix is  | ||||
|     given the default zones are taken from enum.conf | ||||
|  | ||||
|  | ||||
| EXAMPLE USES: | ||||
| @@ -117,7 +118,7 @@ Example 6: Give back the second full URI in the sorted list of all NAPTR URIs: | ||||
| exten => 100,1,Set(foo=${ENUMLOOKUP(+13015611020,ALL,2,loligo.com)}) | ||||
|   returns: ${foo}="tel:+14155551212"  [note the "tel:" prefix in the string] | ||||
|  | ||||
| Example 7: Look up first SIP entry for the number in the e164.arpa zone (all defaults) | ||||
| Example 7: Look up first SIP entry for the number in the default zone(s) from enum.conf  | ||||
| exten => 100,1,Set(foo=${ENUMLOOKUP(+437203001721)}) | ||||
|   returns: ${foo}="enum-test@sip.nemox.net"  [note: this result is | ||||
|   subject to change as it is "live" DNS and not under my control] | ||||
| @@ -195,10 +196,9 @@ Usage notes and subtle features: | ||||
|   a result of your query, the function will RANDOMLY select a single | ||||
|   NAPTR from those equal results. | ||||
|  | ||||
|   g) Currently, the function ignores the settings in enum.conf as the | ||||
|   search zone name is now specified within the function, and the H323 | ||||
|   driver can be chosen by the user via the dialplan.  There were no | ||||
|   other values in this file, and so it becomes deprecated. | ||||
|   g) If a zone is given explicitely the function ignores the settings  | ||||
|   in enum.conf as the search zone name is now specified within the function,  | ||||
|   and the H323  driver can be chosen by the user via the dialplan.  | ||||
|  | ||||
|   h) The function will digest and return NAPTRs which use older | ||||
|   (depricated) style, reversed method strings such as "sip+E2U" | ||||
| @@ -225,7 +225,8 @@ Usage notes and subtle features: | ||||
| ==EXAMPLES== | ||||
|  | ||||
| All examples below except where noted use "e164.arpa" as the | ||||
| referenced domain, which is the default domain name for ENUMLOOKUP. | ||||
| referenced domain, which is the default domain name for ENUMLOOKUP if | ||||
| 'search => e164.arpa' is set in enum.conf. | ||||
| All numbers are assumed to not have a leading "+" as dialed by the | ||||
| inbound channel, so that character is added where necessary during | ||||
| ENUMLOOKUP function calls. | ||||
| @@ -270,16 +271,16 @@ exten => _011.,n,Dial(Zap/g1/${EXTEN}) | ||||
| ; | ||||
| ; Start first with e164.arpa zone... | ||||
| ; | ||||
| exten => _X.,1,Set(sipcount=${ENUMLOOKUP(+${EXTEN},sip,c)}|counter=0) | ||||
| exten => _X.,1,Set(sipcount=${ENUMLOOKUP(+${EXTEN},sip,c,e164.arpa)}|counter=0) | ||||
| exten => _X.,2,GotoIf($["${counter}"<"${sipcount}"]?3:6) | ||||
| exten => _X.,3,Set(counter=$[${counter}+1]) | ||||
| exten => _X.,4,Dial(SIP/${ENUMLOOKUP(+${EXTEN},sip,${counter})}) | ||||
| exten => _X.,4,Dial(SIP/${ENUMLOOKUP(+${EXTEN},sip,${counter},e164.arpa)}) | ||||
| exten => _X.,5,GotoIf($["${counter}"<"${sipcount}"]?3:6) | ||||
| ; | ||||
| exten => _X.,6,Set(iaxcount=${ENUMLOOKUP(+${EXTEN},iax2,c)}|counter=0) | ||||
| exten => _X.,6,Set(iaxcount=${ENUMLOOKUP(+${EXTEN},iax2,c,e164.arpa)}|counter=0) | ||||
| exten => _X.,7,GotoIf($["${counter}"<"${iaxcount}"]?8:11) | ||||
| exten => _X.,8,Set(counter=$[${counter}+1]) | ||||
| exten => _X.,9,Dial(IAX2/${ENUMLOOKUP(+${EXTEN},iax2,${counter})}) | ||||
| exten => _X.,9,Dial(IAX2/${ENUMLOOKUP(+${EXTEN},iax2,${counter},e164.arpa)}) | ||||
| exten => _X.,10,GotoIf($["${counter}"<"${iaxcount}"]?8:11) | ||||
| ; | ||||
| exten => _X.,11,NoOp("No valid entries in e164.arpa for ${EXTEN} - checking in e164.org") | ||||
| @@ -304,3 +305,26 @@ exten => _X.,22,NoOp("No valid entries in e164.org for ${EXTEN} - sending out vi | ||||
| exten => _X.,23,Dial(Zap/g1/${EXTEN}) | ||||
| ; | ||||
| ; end example 3 | ||||
|  | ||||
| ; | ||||
| ; | ||||
| ; An alternative to example 3 would be setting the search zones in enum.conf like | ||||
| ; search => e164.arpa | ||||
| ; search => e164.org | ||||
| ; | ||||
| ; Start start matching the default zones from configuration: | ||||
| exten => _X.,1,Set(sipcount=${ENUMLOOKUP(+${EXTEN},sip,c)}|counter=0) | ||||
| exten => _X.,2,GotoIf($["${counter}"<"${sipcount}"]?3:6) | ||||
| exten => _X.,3,Set(counter=$[${counter}+1]) | ||||
| exten => _X.,4,Dial(SIP/${ENUMLOOKUP(+${EXTEN},sip,${counter})}) | ||||
| exten => _X.,5,GotoIf($["${counter}"<"${sipcount}"]?3:6) | ||||
| ; | ||||
| exten => _X.,6,Set(iaxcount=${ENUMLOOKUP(+${EXTEN},iax2,c)}|counter=0) | ||||
| exten => _X.,7,GotoIf($["${counter}"<"${iaxcount}"]?8:11) | ||||
| exten => _X.,8,Set(counter=$[${counter}+1]) | ||||
| exten => _X.,9,Dial(IAX2/${ENUMLOOKUP(+${EXTEN},iax2,${counter})}) | ||||
| exten => _X.,10,GotoIf($["${counter}"<"${iaxcount}"]?8:11) | ||||
| ; | ||||
| exten => _X.,11,NoOp("No valid entries in default zones from enum.conf for ${EXTEN}") | ||||
| ; | ||||
|  | ||||
|   | ||||
| @@ -86,9 +86,6 @@ static int function_enum(struct ast_channel *chan, char *cmd, char *data, | ||||
|  | ||||
| 	ast_copy_string(tech, args.tech ? args.tech : "sip", sizeof(tech)); | ||||
|  | ||||
| 	if (!args.zone) | ||||
| 		args.zone = "e164.arpa"; | ||||
|  | ||||
| 	if (!args.options) | ||||
| 		args.options = "1"; | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user