Jump to content

Tim

Members
  • Posts

    72
  • Joined

  • Last visited

Posts posted by Tim

  1. Hi,

     

    I'm trying to use the SOAP interface to automate the standard configuration we do for every domain we setup. By automating the repetitive tasks, I hope to decrease the amount of human error we experience in building a domain for a new customer. I have scripted much of process so far, but I ran into a problem building our standard Dialplan which has 4-6 entries depending upon the types of termination the client wants.

     

    When I submit the XML below to the SOAP interface, I only see the final <Entry> option being built in the Dialplan. Is the CreateDialplan function capable of handling multiple dialplan routing entries? If not, how would you recommend getting around this limitation?

     

    <?xml version="1.0" standalone="yes"?>
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sns="http://www.pbxnsip.com/soap/pbx">
    <env:Body>
     <sns:CreateDialplan>
      <Domain>localhost</Domain>
      <Name>Default Dialplan</Name>
      <Entry>
       <Preference>101</Preference>
       <Trunk>Outbound Trunk</Trunk>
       <Pattern>1XXXXXXXXXX</Pattern>
       <Replacement></Replacement>
      </Entry>
      <Entry>
       <Preference>102</Preference>
       <Trunk>Outbound Trunk</Trunk>
       <Pattern>XXXXXXXXXX</Pattern>
       <Replacement>1*</Replacement>
      </Entry>
     </sns:CreateDialplan>
    </env:Body>
    </env:Envelope>

     

    --

    Tim

    pbxnsip version 3.2.0.3143 on CentOS 5.2

  2. Yea we already put in a menu button so that you can change DND and cell phone from the phone. That's a start. I like the idea with the parked calls.

     

    That is a great feature, but is there any way you could password protect changing the cell phone number with the voicemail pin? The idea that anyone can walk up to a phone and redirect the calls to that extension without any authentication is kind of scary.

     

    Other than that, it is very cool.

     

    Tim

  3. I have a client that is looking for a simple dictation option where they would record a dictation and have an email sent to them. Is there a way to do this (* code or option in the voicemail menu) without setting up a separate extension to call into?

     

    Tim

  4. We checked this feature - in principle that's possible. The reason why we did not have this yet is that the trunk requires a failover context, and for a calls we currently have only one. It is not a huge problem; it is that it just needs to be done and we want to make sure we don't create any side effects...

     

    Just to be sure that I understand correctly, it will be possible in the future to have more than one number attached with your Extension for call forking?

     

    For a temporary fix for accessing the DISA on the system while extending the full call forking functionality, would it be possible to list have a field like DISA Authorized Numbers where the user could list their home or home office numbers in the system?

     

    Tim

  5. Yes, that makes sense. Maybe we should move this setting into the extension. The whole VLAN topic is kind of moving target to me right now, with 802.1X and carrier Ethernet. I am really not sure what the best way it, maybe we have to try a couple of things.

     

    Thanks, that would be very helpful. You do bring up an excellent point though, one of these days, I really need to setup a lab with 802.1x and see how our various voip phones deal with it....

     

    Well, you can have two or more TCP/TLS ports open on the same server. The PBX can deal with that.

     

    Yes, but we can only take advantage of those other ports if we manually register the phones. If we have to program the phones manually, we lose the PnP buttons and the other PnP functions which, even in our limited use to this point, have been a huge benefit for us. It is the same problem we have with the VLAN tag settings, this can only be specified globally, there is no way to make an exception for a single phone or domain.

     

    We already made it possible to use domain admin PIN and passwords, but that is not in the provisioning files for the phones. We keep that also on the radar.

     

    As I said, this issue is not all that important for us right now. I just wanted to bring it to your attention, so you can deal with this at your convenience.

     

    Tim

  6. In our hosted environment, so far the PnP functionality is working very well for us in most cases. However, we have run into a couple of issues. The main problem relates to the fact that the VLAN IDs are provisioned globally. We can not set the VLAN tag on the server, because we do not have a common VLAN ID which will be set across all the clients on the server, and if we do not set a value, it erases the VLAN tag set on the phone manually. It would be nice if this can be overridden per extension or even per domain, but we would settle for just having a switch so the server does not attempt to provision the VLAN tag.

     

    We also ran into an issue where a carrier was blocking port 5061 on the TCP side, luckily they had a secondary carrier that they could route their VoIP traffic over which wasn't blocking the SIP TLS port. It would have been nice if we could change the transport method (udp, tcp, tls) per domain instead of globally on the server.

     

    There is also a small security problem in the form of an information disclosure, since the 'snom_3xx_phone.xml/admin_pin' and 'snom_m3.cfg/VOIP_SETTINGS_PIN_CODE' settings are global, they are the same for all the domains. This is not a big deal for us right now, but at some point it would be nice to set the admin pins per domain.

     

    Tim

  7. function xml_data($parser, $data) {

     

    <snip>

     

    TRY ADDING $callid and $output as GLOBAL variables within this function call.

     

    The variables are classed as local until the linked in as GLOBALS. They are first set outside this function, right at he top of the script....

     

    <snip>

     

    That worked. Perhaps someone with access to the wiki could update the example?

     

    Tim

  8. The question is, is there anyone who succeded in running that sample?

     

     

    Running PHP 5.1.6 on CentOS 5 I am not able to run the sample script. I have even attempted to make these global variables. I am getting the errors below.

     

    [Tue Sep 30 13:54:38 2008] [error] [client 127.0.0.1] PHP Notice:  Undefined variable: callid in /var/www/html/soap.php on line 16
    [Tue Sep 30 13:54:38 2008] [error] [client 127.0.0.1] PHP Notice:  Undefined variable: output in /var/www/html/soap.php on line 17

     

    Tim

  9. Hallo, I'm Roberto from Italy.

    I need help in setting-up an IVR talking SOAP to a php server.

    I never used SOAP, I've an apache 2.2.8, php 5.2.6 server.

    I can't create an IVR "talking" to the apache.

    In the next 3 weeks we're going to run a demo in front of some partners/developers and we want to demonstrate the flexibility of pbxnsip, that we're starting to distribute in Italy right now.

    We found the articles in Wikipedia, but on our server it seems to give an XML- parsiing error.

    There must be a something that we didn't consider, something really simple pheraphs, but unfortunately we're in a hurry, can someone, please, tell us in a simple step-by-step way what do we have to do?

    The samples in the wiki really seem to be written for someone who knows already the bascis of soap communications.

     

    Thanks in advance.

     

    Hi Roberto,

     

    Were the articles you were referring to actually on Wikipedia, or were they on the pbxnsip Wiki? If it wasn't on the pbxnsip Wiki, perhaps you want to look at http://wiki.pbxnsip.com/index.php/Linking_..._to_an_IVR_Node to get an idea of how the response must be presented for the IVR. There is even a very basic example on that page.

     

    Hope that helps.

     

    Tim

     

    PS. Admins, this should probably be under the IVR section....

  10. Does anyone know of software that will take a T.38 call and PDF/email it directly?

     

    We have gotten good reviews of FaxBack from our SBC vendor. (Actually, they are now our former vendor, since they have dropped their SBC line.) They do offer a 30 day trial of their system, but we have not gotten to do this testing at this point.

     

    http://www.faxback.com

     

    Tim

  11. I have successfully done this with a manual/static registration. The process is documented at http://wiki.pbxnsip.com/index.php/Manual_Registration Be aware that it does not support trunks that require registration. If your gateway, or ITSP can allow the outbound call based on IP, then it will work fine.

     

    I know I can have multiple phones registered to an extension, that is one of the features that sold me on the product. This doesn't help me when someone has a home office that does not have a reliable, high speed internet connection. For example, VoIP over satellite internet does not work well in my experience and there are still parts of the country that satellite is the only 'afordable' option for high speed internet many homes.

     

    Some of our clients would like to have both their Cell phone and their POTS line in the PBX for call forking and to use the DISA. I don't think it would be a problem if there was an option in the system that said, use Cell Phone or use Home Office Phone in the system, as I can see how calling both could potentially cause problems.

     

    Tim Donahue

  12. PAC keeps an active connection. I don't think TAPI does..

     

    I have always thought this is was traditionally a TAPI interface function, which is why I am trying to understand why it would be done with the PAC attendant console instead of the TAPI driver. A search of doing screen pops for CRM integration to most major PBX vendors out there right now all seem to reference using some sort of TAPI interface for basic function, or using their 'more advanced' ($$$$$) client program.

     

    I'm hoping that someone can let out some of the details about the development roadmap so we can all get an understanding of how things will flow together.

     

    Tim

  13. Yes, these two actions are quite similar. The difference is that the 'Pretend to be busy' sends a missed call and checks for redirects, while 'Reject Call' does not redirect the call (more rigorous). I would say the first one may redirect the call to an assistant for call screening, the second one does not accept anonymous at all.

     

    I think we have to turn off cell phone forking if the call comes from the same cell phone. Will be in the next version.

     

    Oh yes, that is not good. It is not a secury problem as the caller still has to punch in the PIN, but must be corrected (next version will have it).

     

    Yea, in the case of the intercept, the PBX did set a timeout of 0 to call the cell phone in addition to calling it immediately. Will also be fixed in the next version.

     

    Great to hear we can get these cleaned up that quickly. Thanks for the help.

     

    Tim

  14. You mean that the PAC (preferrably not the TSP) forks a new process that opens a URL? That should be not too hard. Maybe it would solve a whole bunch of requests that we have on the wishlist right now.

     

    I'm trying to understand why would this be done in the PAC client instead of the TAPI client. With the PAC, you need to configure what you are monitoring, correct? Wouldn't this prevent you from using the PnP button programming, or would you be programming a dedicated PAC account for each user that wants to use screen pops? Why wouldn't you want the TAPI client, which is already attached to my extension, to launch the URL?

     

    Thanks in advance for the clearing up some confusion.

     

    Tim

  15. We have several clients we are planning to move from the existing (*) servers to a hosted pbxnsip platform. They have been interested in using many of the redirection features that pbxnsip offers. In my testing of the redirection features, I have come across a couple of problems.

     

    When filtering anonymous callers, if 'Pretend to be busy' is selected you get the same message as if 'Reject Call' is selected. Unless you setup a call forward on busy number, then it will complete to the CFB number. Is this the expected behavior?

     

    If I call into the DID, and forking to my cell phone is enabled, it forks the call back to my cell phone. This would prevent a client that has no auto attendants from accessing their voicemail from their cell phones remotely. Is there a way to prevent the call from forking if the ANI == the Cell phone number field? I am not expecting the full DISA functionality that is provided when calling the AA, as long as the client can reach the VM greetomg so they can press '*' to access their voicemail remotely. In fact, that would be my preferred method of handling this call scenario. A call trap can be provided upon request.

     

    Not really a redirection problem, but it is related to the Cell phone number field. I noticed on a hosted PBX system if I call the DID of an AA in another domain from my extension I still get the "Press 1... Press 2... Press 3..." options. Is this the expected behavior? I would have thought that it would only try to match cell phone numbers from extensions within the domain of the AA.

     

    Finally, when using the 'Ask for name' announcement mode for anonymous calls, and having my cell phone forking set to 'Immediate,' I am getting 2 INVITEd calls for the call out to my cell phone. They are not duplicate or retried packets, as they have 2 different Call-ID's in the INVITEs. This second call is going directly to my cell phone provider's voicemail system because the first call setup attempt blocks the second incoming call. This is not happening when the forking delay interval is set to 1 second or more. This also does not happen when forking immediately for a non-anonymous call, I have only been able to recreate the problem when filtering anonymous calls and forking immediately to my cell phone. Earlier today I captured 2 calls to illustrate the problem, one set was to fork immediately and the other was set to fork after 1 second earlier. I have sanitized and attached the capture to this post.

     

    Any help you can provide to sort out the 4 issues above would be greatly appreciated.

     

    Tim Donahue

    Sanitized_ngrep_capture.txt

  16. Is there a way to not only have your cell phone called but to have other additional numbers called for your extension such as a non-VoIP office line at the same time as the cell phone without setting up a ring group?

     

    I have had this question a couple of times as well, for people that would like their Mobile phone and their home or home office number to both be attached to their extension.

     

    Tim

  17. Well, that is a policy question... If the PBX does not start because it does nto get the TFTP port, I would call that picky. HTTP is also not essential for making phone calls... So where is the line?

     

    IMHO it is reasolable to start the process anyway. If you have HTTP, then you can fix the other problems through the web interface. If you have SIP, you can run the service already.

     

    That is the problem. If the HTTP port is not able to bind to the port, you can't get into the web interface to fix anything. You are also going to have to restart the PBX to get into the web interface in the future. In my test above, the SIP ports were not able to be opened, so that is a call affecting problem.

     

    I would agree with you that non-critical services like TFTP and SNMP are probably not a huge issue, if perhaps a big warning could be put on the Status page. As for HTTP/HTTPS, I'm not convinced that your management interface isn't critical, but the pbxctrl process definitely not start without the SIP ports being able to bind to their ports.

     

    If there was some way to restart the management interface that would not be call impacting, then I would agree with you 100% that it is not a critical process. However, since getting the HTTP interface back would require a restart of the pbxctrl process a client, ITSP or manager could get backed into a really difficult position. (i.e. Take down 50 active calls to bring the web interface back or wait hours to make this change that a client needs now to restart when the load is much lower.)

     

    If you aren't comfortable with having the process not start unless all the ports bind successfully, perhaps an option can be added to the Global Configuration for Strict or Loose Startup mode. Strict being, if any port bindings fail, pbxctrl will exit with an error code. Loose being, as long as the SIP ports bind, the pbxctrl process will start properly.

     

    Tim

  18. Well, those errors are probably because the PBX does not have superturtle powers to open those protected ports.

     

    I realize that, seeing as I intentionally CAUSED the errors to happen.

     

    What I am surprised about is the pbxctrl process throws an error that it labels as "FATAL" and starts anyway. I would have thought that if it couldn't bind to a required port, the process would not be allowed to finish starting giving the false appearance that it is running correctly. This is kind of important since I can cause errors on the SIP ports as well and any process tests will show that pbxctrl is up and running even though something else is bound to the ports it requires to operate. Please look at the example below, pbxctrl is up and running, but not bound to any of the SIP or HTTP/HTTPS ports.

     

    [root@pbx-test ~]# netstat -l -p |grep nc
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address			   Foreign Address			 State
    tcp		0	  0 *:sip					   *:*						 LISTEN	  22237/nc
    tcp		0	  0 *:sip-tls				   *:*						 LISTEN	  22238/nc
    tcp		0	  0 *:http					  *:*						 LISTEN	  22239/nc
    tcp		0	  0 *:https					 *:*						 LISTEN	  22241/nc
    udp		0	  0 *:sip					   *:*									 22242/nc
    
    [root@pbx-test ~]# /etc/init.d/pbxctrl start
    Starting PBX:
    
    # ps -C pbxctrl
     PID TTY		  TIME CMD
    22249 pts/0	00:00:00 pbxctrl
    
    # cat /opt/log/pbx.log
    [7] 20080915070155: UDP: Opening socket
    [7] 20080915070155: UDPv6: Opening socket
    [0] 20080915070155: UDP: bind() to port 5060 failed
    [0] 20080915070155: FATAL: Could not open UDP port 5060 for SIP
    [7] 20080915070155: UDPv6: Opening socket on port 5060
    [0] 20080915070155: Could not bind socket to port 5060 on IP 0.0.0.0
    [0] 20080915070155: FATAL: Could not open TCP port 5060 for SIP
    [7] 20080915070155: Opening TCPv6 socket on port 5060
    [0] 20080915070155: Could not bind socket to port 5061 on IP 0.0.0.0
    [0] 20080915070155: FATAL: Could not open TCP port 5061 for SIP
    [7] 20080915070155: Opening TCPv6 socket on port 5061
    [2] 20080915070155: Set processor affinity to 1 failed
    [0] 20080915070155: Could not bind socket to port 80 on IP 0.0.0.0
    [0] 20080915070155: FATAL: Could not open TCP port 80 for HTTP/HTTPS
    [7] 20080915070155: Opening TCPv6 socket on port 80
    [0] 20080915070155: Could not bind socket to port 443 on IP 0.0.0.0
    [0] 20080915070155: FATAL: Could not open TCP port 443 for HTTP/HTTPS

     

    Compare this to httpd when you start it and its ports are already in use. It throws a bunch of FATAL errors and then neatly exits.

     

    [root@pbx-test ~]# /etc/init.d/httpd start
    Starting httpd: (98)Address already in use: make_sock: could not bind to address [::]:80
    (98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
    no listening sockets available, shutting down
    Unable to open logs
    													   [FAILED]

     

    The problem, as I see it, is the pbxctrl process will allow itself to start in a potentially inconsistent manner.

     

    Tim

×
×
  • Create New...