[asterisk-users] function SHARED and function IMPORT : 2 questions
    Jonas Kellens 
    jonas.kellens at telenet.be
       
    Wed Mar  2 08:07:13 CST 2016
    
    
  
Hello
I am trying to use the functions SHARED and IMPORT to share variables 
across SIP-channels.
During my use I encounter 2 problems/questions.
Question 1. only 1 shared variable per channel ??
When I set 2 shared variables on a channel, and I read them a bit futher 
in the dialplan, there is only 1 variable that has its value :
Dialplan :
exten => s,n,Set(SHARED(TheINPUT)=1)
exten => s,n,Set(SHARED(MyVar)=222)
...
exten => s,n,Set(Import=${IMPORT(${CHANNEL},TheINPUT)})
exten => s,n,Set(ImportAdv=${IMPORT(${CHANNEL},MyVar)})
Execution :
[Mar  2 14:19:20]     -- Executing [s at routing:56] 
Set("SIP/980419-00000016", "SHARED(TheINPUT)=1") in new stack
[Mar  2 14:19:20]     -- Executing [s at routing:57] 
Set("SIP/980419-00000016", "SHARED(MyVar)=222") in new stack
...
[Mar  2 14:19:26]     -- Executing [s at routing:80] 
Set("SIP/980419-00000016", "Import=1") in new stack
[Mar  2 14:19:26]     -- Executing [s at routing:81] 
Set("SIP/980419-00000016", "ImportAdv=") in new stack
As you can see, only variable "TheINPUT" has its value ( 1 ). Variable 
'MyVar' is empty.
How come ??
Question 2 : how to set a variable on another channel ??
I try to set a Shared Variable on 1 channel :
exten => s,n,Set(SHARED(TheINPUT,${BRIDGECH})=1)
And read the variable on another channel :
exten => s,n,Set(Import=${IMPORT(${BRIDGECH},TheINPUT)})
exten => s,n,Set(Hell=${IMPORT(TheINPUT)})
Execution :
(here the shared var is set)
[Mar  2 14:58:44]     -- Executing [s at routing:58] 
NoOp("SIP/980419-00000025", "bridgech = SIP/SipT01-00000021") in new stack
[Mar  2 14:58:44]     -- Executing [s at routing:59] 
Set("SIP/980419-00000025", "SHARED(TheINPUT,SIP/SipT01-00000021)=1") in 
new stack
(here the hared var is read)
[Mar  2 14:58:54]     -- Executing [s at routing:42] 
Set("SIP/SipT01-00000021", "Import=") in new stack
[Mar  2 14:58:54]     -- Executing [s at routing:43] 
Set("SIP/SipT01-00000021", "Hell=") in new stack
So why is the shared variable "TheINPUT" empty on the channel 
SIP/SipT01-00000021 ?? It clealry has been set by the channel 
SIP/980419-00000025.
Thank you for answering these 2 questions of mine.
Kind regards,
Jonas.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20160302/3ae86620/attachment.html>
    
    
More information about the asterisk-users
mailing list