Re: [Asterisk-java-users] Channel extraction.
Brought to you by:
srt
From: Jan du T. <jan...@de...> - 2005-12-12 11:54:43
|
asteriskManager.getChannelById(call.getUniqueId()); The asteriskManger must be cast to the DefaultAsteriskManager. This too returns null:( This is so weird because the call is being made. Stefan Reuter wrote: >ok, at least the unique id seems to be set. >you can try to retrieve the channel like this: > >asteriskManager.getChannelById(call.getUniqueId()); >and then extract the name there. > >plz tell me if that works for you > >=Stefan > >Jan du Toit schrieb: > > >> The call.toString() yields: >> >>net.sf.asterisk.manager.Call: uniqueId=1134386044.15; reason=4; >>startTime=Mon Dec 12 13:07:58 GMT+02:00 2005; endTime=null; >>systemHashcode=8546123 >> >>Asterisk version: >>It is a CVS build, the show version command yields this: "Asterisk CVS >>HEAD built by root @ localhost.localdomain on a i686 running Linux on >>2005-11-09 07:26:18 UTC" >> >>Stefan Reuter wrote: >> >> >> >>>please show me what call.toString() returns and which version of >>>asterisk you use. >>> >>>thx >>>stefan >>> >>> >>>Jan du Toit schrieb: >>> >>> >>> >>> >>>>Stefan Reuter wrote: >>>> >>>> >>>> >>>> >>>> >>>>>>My question is how do you extract this generated random number, so that >>>>>>one can succesfully hangup a channel using HangupAction? >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>The easy solution is to use DefaultAsteriskManager to originate the >>>>>call. Its originateCall method returns a Call object that contains the >>>>>channel name. >>>>>An other option is to listen for OriginateSuccess events (see the >>>>>HelloEvents example on how to do that) and extract the channel name from >>>>>that event. >>>>> >>>>>=Stefan >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>I have the following piece of code: >>>> .... >>>> Originate org; >>>> Call call; >>>> managerConnection.login(); >>>> >>>> org = new Originate(); >>>> org.setChannel("SIP/Jan"); >>>> org.setContext("sgs"); >>>> org.setExten(getExtensionNumber()); >>>> org.setPriority(new Integer(1)); >>>> //set time before call must be picked up. >>>> org.setTimeout(new Long(30000)); >>>> >>>> call = this.asteriskManager.originateCall(org); >>>> str += "CALL:"+call.getChannel()+"\n"; //this method returns >>>>null. >>>> >>>> managerConnection.logoff(); >>>> .... >>>> >>>>The originateCall method is passed an Originate object configured with >>>>all the needed info. The DefaultAsteriskManager's originateCall method >>>>returns a Call object from which you can extract the channel name from >>>>the call, but this method when executed returns null. >>>> >>>>The call is succesfully made and answered. >>>> >>>>I'm still not getting to the channel name of the form >>>>"SIP/Jan-uniquerandom#" in order to sucesfully hangup. >>>> >>>> >>>> >>>>-- >>>>============================ >>>>Jan Gerryt du Toit >>>>Software Developer >>>>DecisionWorx >>>>Cell : +27721769536 >>>>============================ >>>> >>>> >>>> >>>> >>>> >>> >>> >>> >>> >>-- >>============================ >>Jan Gerryt du Toit >>Software Developer >>DecisionWorx >>Cell : +27721769536 >>============================ >> >> >> > > > -- ============================ Jan Gerryt du Toit Software Developer DecisionWorx Cell : +27721769536 ============================ |