Dan Cropp
2020-Aug-06 16:52 UTC
[asterisk-users] Is it possible to use Stasis to control both legs of a Local channel created using ARI?
I understand how to control the first local channel, but an having trouble
getting the second local channel to enter stasis.
I setup have the following extensions.conf to handle 1000 (basically had it
setup so if first stasis not there try second, but believe second channel never
processes the dial plan so even if second line was hello-world2 it would not
matter.
[mycontext]
exten => 1000,1,NoOp()
same => n,Stasis(hello-world)
same => n,GotoIf($[${STASISSTATUS}=FAILED]?IS_hello_world2:stasis_done)
same => n(IS_hello_world2),Stasis(hello-world2)
same => n(stasis_done),Hangup()
For testing, I am using curl
curl -v -u asterisk:asterisk -X POST http://asterisk:asterisk at
localhost:8088/ari/channels/create?endpoint=local/1000 at mycontext
&app=hello-world2&context=mycontext&channelId=mycallerid.1&otherChannelId=mycallerid.2&formats=ulaw
I see the primary call on my hello-world2 stasis, but I never see anything for
the second leg of the local channel. I have an AMI connection and see both
channels there, but the send local channel seems to not process the dial plan.
Can someone tell me if this is possible and if so what am I doing wrong?
Here is the AMI for the two local channel
Event: Newchannel
Privilege: call,all
Channel: Local/1000 at mycontext-0000000b;1
ChannelState: 0
ChannelStateDesc: Down
CallerIDNum: <unknown>
CallerIDName: <unknown>
ConnectedLineNum: <unknown>
ConnectedLineName: <unknown>
Language: en
AccountCode:
Context: mycontext
Exten: 1000
Priority: 1
Uniqueid: mycallerid.1
Linkedid: mycallerid.1
Event: Newchannel
Privilege: call,all
Channel: Local/1000 at mycontext-0000000b;2
ChannelState: 4
ChannelStateDesc: Ring
CallerIDNum: <unknown>
CallerIDName: <unknown>
ConnectedLineNum: <unknown>
ConnectedLineName: <unknown>
Language: en
AccountCode:
Context: mycontext
Exten: 1000
Priority: 1
Uniqueid: mycallerid.2
Linkedid: mycallerid.1
< {
"type": "ChannelDialplan",
"timestamp": "2020-08-06T11:37:50.531-0500",
"dialplan_app": "Stasis",
"dialplan_app_data": "hello-world2",
"channel": {
"id": "mycallerid.1",
"name": "Local/1000 at mycontext-0000000b;1",
"state": "Down",
"caller": {
"name": "",
"number": ""
},
"connected": {
"name": "",
"number": ""
},
"accountcode": "",
"dialplan": {
"context": "mycontext",
"exten": "1000",
"priority": 1,
"app_name": "Stasis",
"app_data": "hello-world2"
},
"creationtime": "2020-08-06T11:37:50.531-0500",
"language": "en"
},
"asterisk_id": "00:15:5d:8e:01:38",
"application": "hello-world2"
}
< {
"variable": "STASISSTATUS",
"value": "",
"type": "ChannelVarset",
"timestamp": "2020-08-06T11:37:50.531-0500",
"channel": {
"id": "mycallerid.1",
"name": "Local/1000 at mycontext-0000000b;1",
"state": "Down",
"caller": {
"name": "",
"number": ""
},
"connected": {
"name": "",
"number": ""
},
"accountcode": "",
"dialplan": {
"context": "mycontext",
"exten": "1000",
"priority": 1,
"app_name": "Stasis",
"app_data": "hello-world2"
},
"creationtime": "2020-08-06T11:37:50.531-0500",
"language": "en"
},
"asterisk_id": "00:15:5d:8e:01:38",
"application": "hello-world2"
}
< {
"type": "StasisStart",
"timestamp": "2020-08-06T11:37:50.531-0500",
"args": [],
"channel": {
"id": "mycallerid.1",
"name": "Local/1000 at mycontext-0000000b;1",
"state": "Down",
"caller": {
"name": "",
"number": ""
},
"connected": {
"name": "",
"number": ""
},
"accountcode": "",
"dialplan": {
"context": "mycontext",
"exten": "1000",
"priority": 1,
"app_name": "Stasis",
"app_data": "hello-world2"
},
"creationtime": "2020-08-06T11:37:50.531-0500",
"language": "en"
},
"asterisk_id": "00:15:5d:8e:01:38",
"application": "hello-world2"
}
Here are the AMI
Event: Newchannel
Privilege: call,all
Channel: Local/1000 at mycontext-0000000b;1
ChannelState: 0
ChannelStateDesc: Down
CallerIDNum: <unknown>
CallerIDName: <unknown>
ConnectedLineNum: <unknown>
ConnectedLineName: <unknown>
Language: en
AccountCode:
Context: mycontext
Exten: 1000
Priority: 1
Uniqueid: mycallerid.1
Linkedid: mycallerid.1
Event: Newchannel
Privilege: call,all
Channel: Local/1000 at mycontext-00000007;2
ChannelState: 4
ChannelStateDesc: Ring
CallerIDNum: <unknown>
CallerIDName: <unknown>
ConnectedLineNum: <unknown>
ConnectedLineName: <unknown>
Language: en
AccountCode:
Context: mycontext
Exten: 1000
Priority: 1
Uniqueid: mycallerid.2
Linkedid: mycallerid.1
Dan
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.digium.com/pipermail/asterisk-users/attachments/20200806/e2729cc8/attachment.html>
Joshua C. Colp
2020-Aug-06 17:04 UTC
[asterisk-users] Is it possible to use Stasis to control both legs of a Local channel created using ARI?
On Thu, Aug 6, 2020 at 1:52 PM Dan Cropp <dan at amtelco.com> wrote:> I understand how to control the first local channel, but an having trouble > getting the second local channel to enter stasis. > > > > I setup have the following extensions.conf to handle 1000 (basically had > it setup so if first stasis not there try second, but believe second > channel never processes the dial plan so even if second line was > hello-world2 it would not matter. >What does the console show is actually happening with the channel? -- Joshua C. Colp Asterisk Technical Lead Sangoma Technologies Check us out at www.sangoma.com and www.asterisk.org -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20200806/0410699d/attachment.html>
Dan Cropp
2020-Aug-06 17:12 UTC
[asterisk-users] Is it possible to use Stasis to control both legs of a Local channel created using ARI?
Hi Joshua, Thanks for responding. Please disregard, I just figured out the using the originate approach solved my problem. curl -v -u asterisk:asterisk -X POST "http://asterisk:asterisk at localhost:8088/ari/channels/mycallerid.1?endpoint=local/1000 at mycontext&app=hello-world2&extension=1000&context=mycontext&priority=1&channelId=mycallerid.1&otherChannelId=mycallerid.2&formats=ulaw&timeout=30" Have a good day! Dan From: asterisk-users <asterisk-users-bounces at lists.digium.com> On Behalf Of Joshua C. Colp Sent: Thursday, August 6, 2020 12:05 PM To: Asterisk Users Mailing List - Non-Commercial Discussion <asterisk-users at lists.digium.com> Subject: Re: [asterisk-users] Is it possible to use Stasis to control both legs of a Local channel created using ARI? On Thu, Aug 6, 2020 at 1:52 PM Dan Cropp <dan at amtelco.com<mailto:dan at amtelco.com>> wrote: I understand how to control the first local channel, but an having trouble getting the second local channel to enter stasis. I setup have the following extensions.conf to handle 1000 (basically had it setup so if first stasis not there try second, but believe second channel never processes the dial plan so even if second line was hello-world2 it would not matter. What does the console show is actually happening with the channel? -- Joshua C. Colp Asterisk Technical Lead Sangoma Technologies Check us out at www.sangoma.com<http://www.sangoma.com> and www.asterisk.org<http://www.asterisk.org> -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20200806/5fd496bb/attachment.html>