[asterisk-users] How to check a number online or offline
Phuong Hoang
ducphuongbk200586 at gmail.com
Tue Jan 11 09:41:14 CST 2011
Hi Dhaval,
I have`nt known you recieved my mail yet?if you did and you can answer my
question then please rely to you, i am looking forward to listening your
reply.
Have a good nice.
Thanks and best regards!
Phuong.
On Tue, Jan 11, 2011 at 2:11 AM, Phuong Hoang
<ducphuongbk200586 at gmail.com>wrote:
>
> Hi Dhaval,
> I fired originate action on AMI and everything is ok but redirect action
> not ok.
> here the channel i set is available and context also exists on file
> extension.conf .
> I will send manager.conf,extensions.conf and sip.conf (in Extension.rar) to
> you.
> I registered a sip phone with account *0976468586 *and context "*TestAMQ*"
> on asterisk =>ok
> When i call with extension of "*TestAMQ*"(*this case extension is 999* )
> by sip phone account* 0976468586* and simultaneously run above java
> program (AMI) that i sent to you to redirect the number *0976468586* to
> context *"from-smg"* then received the error.
> Do you use yahoo or skype?if you do, can you let me know *your ID yahoo
> or skype* to say something easier. My Yahoo ID is : *
> ducphuongbk200586 at yahoo.com*
> Thanks and best regard
> Phuong
>
> On Tue, Jan 11, 2011 at 2:05 AM, Phuong Hoang <ducphuongbk200586 at gmail.com
> > wrote:
>
>>
>>
>>> On Tue, Jan 11, 2011 at 1:18 AM, DHAVAL INDRODIYA <
>>> dhaval.it01034 at gmail.com> wrote:
>>>
>>>> Hi Phuong,
>>>>
>>>> i see your code is looking nice and there is no problem in
>>>> implementation , if you have any problem
>>>> then first send me manager.conf file then try to connect through manager
>>>> using telnet and then fire same action on this in that you can get proper
>>>> error codes .
>>>>
>>>> one more thing the channel you set is this channel is available to
>>>> redirected???
>>>>
>>>> regards
>>>> Dhavak
>>>>
>>>> On Tue, Jan 11, 2011 at 2:05 PM, Phuong Hoang <
>>>> ducphuongbk200586 at gmail.com> wrote:
>>>>
>>>>> Hi Dhaval,
>>>>> Can you say how to fire action on AMI in this case and recieve response
>>>>> on AMI. I also tried to do with HangupAction and RedirectAction action
>>>>> (using asterisk-java library) in application java (AMI) to hang up or
>>>>> redirect a channel that is online at the extension on asterisk but not
>>>>> successfully. This is my code:
>>>>>
>>>>>
>>>>>
>>>>> package Test;
>>>>>
>>>>> import java.io.IOException;
>>>>>
>>>>> import org.asteriskjava.manager.AuthenticationFailedException;
>>>>> import org.asteriskjava.manager.ManagerConnection;
>>>>> import org.asteriskjava.manager.ManagerConnectionFactory;
>>>>> import org.asteriskjava.manager.TimeoutException;
>>>>> import org.asteriskjava.manager.action.HangupAction;
>>>>> import org.asteriskjava.manager.action.OriginateAction;
>>>>> import org.asteriskjava.manager.action.RedirectAction;
>>>>> import org.asteriskjava.manager.response.ManagerResponse;
>>>>>
>>>>> public class TestOriginate {
>>>>>
>>>>> /**
>>>>> * @param args
>>>>> */
>>>>> private ManagerConnection managerConnection;
>>>>>
>>>>> public TestOriginate() throws IOException {
>>>>> ManagerConnectionFactory factory = new
>>>>> ManagerConnectionFactory(
>>>>> "192.168.0.178", "manager", "pa55w0rd");
>>>>>
>>>>> this.managerConnection = factory.createManagerConnection();
>>>>>
>>>>> }
>>>>> public void run() {
>>>>> RedirectAction redirectAction;
>>>>> ManagerResponse originateResponse;
>>>>> String state = "";
>>>>> String receiver = "0976468586";
>>>>> redirectAction = new RedirectAction();
>>>>> redirectAction.setContext("from-smg");
>>>>> redirectAction.setExten("9220");
>>>>> redirectAction.setPriority(new Integer(1));
>>>>> redirectAction.setChannel("SIP/"+ receiver);
>>>>>
>>>>> try {
>>>>> System.out.println("Starting login 192.168.0.178");
>>>>> managerConnection.login();
>>>>>
>>>>> System.out.println("After login 192.168.0.178");
>>>>>
>>>>> } catch (IllegalStateException e) {
>>>>>
>>>>> } catch (TimeoutException e) {
>>>>>
>>>>> } catch (IOException e) {
>>>>>
>>>>> } catch (AuthenticationFailedException e) {
>>>>>
>>>>> }
>>>>> try {
>>>>> originateResponse =
>>>>> managerConnection.sendAction(redirectAction,
>>>>> 30000);
>>>>> state = originateResponse.getResponse();
>>>>> System.out.println("State value is :" + state);
>>>>> } catch (IllegalArgumentException e) {
>>>>> // TODO Auto-generated catch block
>>>>> e.printStackTrace();
>>>>> } catch (IllegalStateException e) {
>>>>> // TODO Auto-generated catch block
>>>>> e.printStackTrace();
>>>>> } catch (IOException e) {
>>>>> // TODO Auto-generated catch block
>>>>> e.printStackTrace();
>>>>> } catch (TimeoutException e) {
>>>>> // TODO Auto-generated catch block
>>>>> e.printStackTrace();
>>>>> }
>>>>>
>>>>> managerConnection.logoff();
>>>>> }
>>>>>
>>>>> public static void main(String[] args) throws IOException {
>>>>> // TODO Auto-generated method stub
>>>>>
>>>>> TestOriginate test = new TestOriginate();
>>>>> test.run();
>>>>> }
>>>>>
>>>>> }
>>>>>
>>>>> *While i run above code, the result printed on console likes
>>>>> following:*
>>>>>
>>>>>
>>>>> Starting login 192.168.0.178
>>>>> Jan 11, 2011 3:26:01 PM
>>>>> org.asteriskjava.manager.internal.ManagerConnectionImpl connect
>>>>> INFO: Connecting to 192.168.0.178:5038
>>>>> Jan 11, 2011 3:26:02 PM
>>>>> org.asteriskjava.manager.internal.ManagerConnectionImpl
>>>>> setProtocolIdentifier
>>>>> INFO: Connected via Asterisk Call Manager/1.1
>>>>> Jan 11, 2011 3:26:02 PM
>>>>> org.asteriskjava.manager.internal.ManagerConnectionImpl
>>>>> setProtocolIdentifier
>>>>> WARNING: Unsupported protocol version 'Asterisk Call Manager/1.1'. Use
>>>>> at your own risk.
>>>>> Jan 11, 2011 3:26:02 PM
>>>>> org.asteriskjava.manager.internal.ManagerConnectionImpl doLogin
>>>>> INFO: Successfully logged in
>>>>> Jan 11, 2011 3:26:04 PM
>>>>> org.asteriskjava.manager.internal.ManagerConnectionImpl doLogin
>>>>> INFO: Determined Asterisk version: Asterisk 1.0
>>>>> After login 192.168.0.178
>>>>> State value is :Error
>>>>> Jan 11, 2011 3:26:04 PM
>>>>> org.asteriskjava.manager.internal.ManagerConnectionImpl disconnect
>>>>> INFO: Closing socket.
>>>>> Jan 11, 2011 3:26:04 PM
>>>>> org.asteriskjava.manager.internal.ManagerReaderImpl run
>>>>> INFO: Terminating reader thread: socket closed
>>>>>
>>>>> I hope you can spend your time to read what i have written above and
>>>>> help me solve this problem.
>>>>>
>>>>> Can you contact with me by my yahoo nick : ducphuongbk200586 at yahoo.com
>>>>>
>>>>> Thanks and best regards.
>>>>> Phuong
>>>>>
>>>>> On Mon, Jan 10, 2011 at 10:48 PM, DHAVAL INDRODIYA <
>>>>> dhaval.it01034 at gmail.com> wrote:
>>>>>
>>>>>> HI Phuong,
>>>>>>
>>>>>> JIM is right way but if you want to use extension state then there is
>>>>>> a simple way of achiving through
>>>>>> AMI, you need to fire this action on AMI and response have your answer
>>>>>> ,
>>>>>>
>>>>>> Please read about Action ExtensionState.
>>>>>>
>>>>>>
>>>>>> http://www.voip-info.org/wiki/view/Asterisk+Manager+API+Action+ExtensionState
>>>>>>
>>>>>> If you are looking for extension state just pass extension and you
>>>>>> will receive perfect response of that extension then you cans code as you
>>>>>> want.
>>>>>>
>>>>>> regards
>>>>>> Dhaval
>>>>>>
>>>>>>
>>>>>> On Tue, Jan 11, 2011 at 9:56 AM, Phuong Hoang <
>>>>>> ducphuongbk200586 at gmail.com> wrote:
>>>>>>
>>>>>>> Hi Jim,
>>>>>>> Really, I have`nt understood what you said yet. I am building a
>>>>>>> system on asterisk, and want to check a number online, offline or
>>>>>>> unreachable. If number is online on the extension then i want to redirect
>>>>>>> other extension. Redirecting is done by application java using AMI. can you
>>>>>>> help me do it?
>>>>>>> Thanks and best regards!
>>>>>>> Phuong
>>>>>>>
>>>>>>>
>>>>>>> On Mon, Jan 10, 2011 at 7:09 PM, Jim Dickenson <dickenson at cfmc.com>wrote:
>>>>>>>
>>>>>>>> If you do an AMI packet like this:
>>>>>>>>
>>>>>>>> Action: Originate
>>>>>>>> Channel: Local/get_info at some_context
>>>>>>>> Exten: do_noop
>>>>>>>> Context: some_context
>>>>>>>> Priority: 1
>>>>>>>> ActionID: GetInfo
>>>>>>>> Async: true
>>>>>>>>
>>>>>>>> and then have a couple extensions that do what you want. Here is
>>>>>>>> what I do in my case:
>>>>>>>>
>>>>>>>> exten => get_info,1,Answer()
>>>>>>>> exten => get_info,n,UserEvent(GetInfo,Version:ABE &
>>>>>>>> DateTime:${STRFTIME(${EPOCH},,%Y%m%d%H%M%S)} & CfMC:83351)
>>>>>>>> exten => get_info,n,Hangup()
>>>>>>>>
>>>>>>>> exten => do_noop,1,Answer()
>>>>>>>> exten => do_noop,n,Wait(1)
>>>>>>>> exten => do_noop,n,Hangup()
>>>>>>>>
>>>>>>>> You would then do what you need to do in your extensions.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Jim Dickenson
>>>>>>>> mailto:dickenson at cfmc.com <dickenson at cfmc.com>
>>>>>>>>
>>>>>>>> CfMC
>>>>>>>> http://www.cfmc.com/
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Jan 10, 2011, at 6:16 PM, Phuong Hoang wrote:
>>>>>>>>
>>>>>>>> Thanks Jim,
>>>>>>>> Can you say about your idea clearlier? I want to use AMI in an
>>>>>>>> application java to check a number online, offline or unreachable and result
>>>>>>>> is returned to the appliction java. If the number is online now, i will use
>>>>>>>> AMI to hangup it, else i do nothing.
>>>>>>>> Best regards,
>>>>>>>> Phuong.
>>>>>>>>
>>>>>>>> On Mon, Jan 10, 2011 at 8:50 AM, Jim Dickenson <dickenson at cfmc.com>wrote:
>>>>>>>>
>>>>>>>>> You can always place a "call" to an extension that sends a user
>>>>>>>>> event from AMI. If there are no native AMI commands that can return what you
>>>>>>>>> want originate a call to a local extension that returns a user event.
>>>>>>>>> --
>>>>>>>>> Jim Dickenson
>>>>>>>>> mailto:dickenson at cfmc.com <dickenson at cfmc.com>
>>>>>>>>>
>>>>>>>>> CfMC
>>>>>>>>> http://www.cfmc.com/
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Jan 10, 2011, at 7:48 AM, Phuong Hoang wrote:
>>>>>>>>>
>>>>>>>>> Thanks Dhaval,
>>>>>>>>> My purpose is that i want to use java application (using Asterisk
>>>>>>>>> Manager Interface) to check a number online, offline or unreachable. Your
>>>>>>>>> suggest uses function DEVICE_STATE but this is written in dialplan not
>>>>>>>>> application java. Do you know other way to do this for me?thanks and looks
>>>>>>>>> forward to listening your reply.
>>>>>>>>> Regards!
>>>>>>>>> Phuong
>>>>>>>>>
>>>>>>>>> On Mon, Jan 10, 2011 at 3:13 AM, DHAVAL INDRODIYA <
>>>>>>>>> dhaval.it01034 at gmail.com> wrote:
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Hello ,
>>>>>>>>>>
>>>>>>>>>> You can use Dialplan function DEVICE_STATE, which will gives you
>>>>>>>>>> perfect status of DEVICE.
>>>>>>>>>>
>>>>>>>>>> regards
>>>>>>>>>> Dhaval
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Mon, Jan 10, 2011 at 4:11 PM, Steve Howes <
>>>>>>>>>> steve-lists at geekinter.net> wrote:
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On 10 Jan 2011, at 10:37, Phuong Hoang wrote:
>>>>>>>>>>> I found the link you have just sent to me but it do`nt help me to
>>>>>>>>>>> resolve this. Can you say clearlier for me?
>>>>>>>>>>>
>>>>>>>>>>> Not really. It's a list of manager commands. There is
>>>>>>>>>>> 'SIPshowpeer' which will work for sip stuff. Try the command 'Command'
>>>>>>>>>>> action and you can send any CLI command, like sip/iax2 show peers etc.
>>>>>>>>>>> 'ExtensionState' might work in some cases..
>>>>>>>>>>>
>>>>>>>>>>> S
>>>>>>>>>>> --
>>>>>>>>>>>
>>>>>>>>>>> _____________________________________________________________________
>>>>>>>>>>> -- Bandwidth and Colocation Provided by
>>>>>>>>>>> http://www.api-digital.com --
>>>>>>>>>>> New to Asterisk? Join us for a live introductory webinar every
>>>>>>>>>>> Thurs:
>>>>>>>>>>> http://www.asterisk.org/hello
>>>>>>>>>>>
>>>>>>>>>>> asterisk-users mailing list
>>>>>>>>>>> To UNSUBSCRIBE or update options visit:
>>>>>>>>>>> http://lists.digium.com/mailman/listinfo/asterisk-users
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>>
>>>>>>>>>> _____________________________________________________________________
>>>>>>>>>> -- Bandwidth and Colocation Provided by
>>>>>>>>>> http://www.api-digital.com --
>>>>>>>>>> New to Asterisk? Join us for a live introductory webinar every
>>>>>>>>>> Thurs:
>>>>>>>>>> http://www.asterisk.org/hello
>>>>>>>>>>
>>>>>>>>>> asterisk-users mailing list
>>>>>>>>>> To UNSUBSCRIBE or update options visit:
>>>>>>>>>> http://lists.digium.com/mailman/listinfo/asterisk-users
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>>
>>>>>>>>> _____________________________________________________________________
>>>>>>>>> -- Bandwidth and Colocation Provided by http://www.api-digital.com--
>>>>>>>>> New to Asterisk? Join us for a live introductory webinar every
>>>>>>>>> Thurs:
>>>>>>>>> http://www.asterisk.org/hello
>>>>>>>>>
>>>>>>>>> asterisk-users mailing list
>>>>>>>>> To UNSUBSCRIBE or update options visit:
>>>>>>>>> http://lists.digium.com/mailman/listinfo/asterisk-users
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>>
>>>>>>>>> _____________________________________________________________________
>>>>>>>>> -- Bandwidth and Colocation Provided by http://www.api-digital.com--
>>>>>>>>> New to Asterisk? Join us for a live introductory webinar every
>>>>>>>>> Thurs:
>>>>>>>>> http://www.asterisk.org/hello
>>>>>>>>>
>>>>>>>>> asterisk-users mailing list
>>>>>>>>> To UNSUBSCRIBE or update options visit:
>>>>>>>>> http://lists.digium.com/mailman/listinfo/asterisk-users
>>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>>
>>>>>>>> _____________________________________________________________________
>>>>>>>> -- Bandwidth and Colocation Provided by http://www.api-digital.com--
>>>>>>>> New to Asterisk? Join us for a live introductory webinar every
>>>>>>>> Thurs:
>>>>>>>> http://www.asterisk.org/hello
>>>>>>>>
>>>>>>>> asterisk-users mailing list
>>>>>>>> To UNSUBSCRIBE or update options visit:
>>>>>>>> http://lists.digium.com/mailman/listinfo/asterisk-users
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>>
>>>>>>>> _____________________________________________________________________
>>>>>>>> -- Bandwidth and Colocation Provided by http://www.api-digital.com--
>>>>>>>> New to Asterisk? Join us for a live introductory webinar every
>>>>>>>> Thurs:
>>>>>>>> http://www.asterisk.org/hello
>>>>>>>>
>>>>>>>> asterisk-users mailing list
>>>>>>>> To UNSUBSCRIBE or update options visit:
>>>>>>>> http://lists.digium.com/mailman/listinfo/asterisk-users
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> _____________________________________________________________________
>>>>>>> -- Bandwidth and Colocation Provided by http://www.api-digital.com--
>>>>>>> New to Asterisk? Join us for a live introductory webinar every Thurs:
>>>>>>> http://www.asterisk.org/hello
>>>>>>>
>>>>>>> asterisk-users mailing list
>>>>>>> To UNSUBSCRIBE or update options visit:
>>>>>>> http://lists.digium.com/mailman/listinfo/asterisk-users
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> _____________________________________________________________________
>>>>>> -- Bandwidth and Colocation Provided by http://www.api-digital.com --
>>>>>> New to Asterisk? Join us for a live introductory webinar every Thurs:
>>>>>> http://www.asterisk.org/hello
>>>>>>
>>>>>> asterisk-users mailing list
>>>>>> To UNSUBSCRIBE or update options visit:
>>>>>> http://lists.digium.com/mailman/listinfo/asterisk-users
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> _____________________________________________________________________
>>>>> -- Bandwidth and Colocation Provided by http://www.api-digital.com --
>>>>> New to Asterisk? Join us for a live introductory webinar every Thurs:
>>>>> http://www.asterisk.org/hello
>>>>>
>>>>> asterisk-users mailing list
>>>>> To UNSUBSCRIBE or update options visit:
>>>>> http://lists.digium.com/mailman/listinfo/asterisk-users
>>>>>
>>>>
>>>>
>>>> --
>>>> _____________________________________________________________________
>>>> -- Bandwidth and Colocation Provided by http://www.api-digital.com --
>>>> New to Asterisk? Join us for a live introductory webinar every Thurs:
>>>> http://www.asterisk.org/hello
>>>>
>>>> asterisk-users mailing list
>>>> To UNSUBSCRIBE or update options visit:
>>>> http://lists.digium.com/mailman/listinfo/asterisk-users
>>>>
>>>
>>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20110111/2e456253/attachment.htm>
More information about the asterisk-users
mailing list