[asterisk-users] realtime config and extensions.conf

Jeff LaCoursiere jeff at jeff.net
Fri Aug 7 14:28:59 CDT 2009


On Fri, 7 Aug 2009, Jeff LaCoursiere wrote:

>
> Howdy,
>
> My first forray into using res_mysql.conf for realtime access of sip users 
> and extensions.
>
> I have the following relevant section of extensions.conf:
>
> ---
>
> [trunklocal]
> exten => _NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})
>
> [local]
> include => trunklocal
> include => trunktollfree
>
> [longdistance]
> include => local
> include => trunkld
>
> [international]
> include => longdistance
> include => trunkint
>
> [from-pstn]
> exten => 7157999,1,VoicemailMain()
> switch => Realtime
>
> [residential]
> include => from-pstn
> include => international
>
> ---
>
> And the relevant entries in the DB:
>
> mysql> select name, context from sip_buddies;
> +---------+-------------+
> | name    | context     |
> +---------+-------------+
> | 7157986 | residential |
> | 7157980 | residential |
> +---------+-------------+
> 2 rows in set (0.01 sec)
>
> mysql> select * from extensions;
> +----+-------------+---------+----------+------------+-------------+
> | id | context     | exten   | priority | app        | appdata     |
> +----+-------------+---------+----------+------------+-------------+
> | 10 | residential | 7157986 |        1 | Dial       | SIP/7157986 |
> | 11 | residential | 7157986 |        2 | Congestion |             |
> | 12 | residential | 7157980 |        1 | Dial       | SIP/7157980 |
> | 13 | residential | 7157980 |        2 | Congestion |             |
> +----+-------------+---------+----------+------------+-------------+
> 4 rows in set (0.00 sec)
>
> ---
>
> The phone I am testing with has a sip entry in "sip_buddies" with a context 
> of "residential".  As you can see from the cascading contexts above the 
> "residential" context can dial local 7 digit numbers via the TRUNK (a zap T1 
> with an inbound context of "from-pstn"), but dialing the Voicemail main 
> number, also seven digits, overrides this and is executed directly.  This all 
> works as expected and seems fairly elegant.
>
> I also expected that the "switch => Realtime" statement in "[from-pstn]" 
> would allow any local numbers in the "extensions" table to also override the 
> trunk dialing, but it does not.  So my test phone, when it dials a local 
> number that exists in the "extensions" table, ends up sending the call out 
> the TRUNK, then it comes back in the TRUNK on another channel, and then dials 
> the SIP phone as expected.  The call at least goes through :)  But it does 
> kill the video H.264 stream I was hoping for!
>
> How can I make sure that the realtime entries override the pattern matching 
> in [trunk-local]?
>
> Thanks,
>
> j
>

And now to answer my own silly question...

The switch statement will use the static context it is a member of to 
search the tables, and I had 'residential' rather than 'from-pstn' in the 
tables.

Works fine now :)

Cheers,

j



More information about the asterisk-users mailing list