Asterisk API - problem reaching from browser [closed] - api

Closed. This question is not about programming or software development. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 3 months ago.
Improve this question
I have configured Issabel with Asterisk :
[root#issabel ~]# asterisk -V
Asterisk 11.25.3
enabled mini http server at /etc/asterisk/http.conf
enabled manager access at /etc/asterisk/manager.conf
http.conf:
#include http_additional.conf
#include http_custom.conf
[general]
enabled=yes
enablestatic=yes
bindaddr=0.0.0.0
bindport=8080
prefix=
tlsenable=no
tlsbindaddr=
tlscertfile=
tlsprivatekey=
manager.conf:
[general]
enabled = yes
bindaddr = 0.0.0.0
port = 5038
#include manager_general_additional.conf
[admin]
username = foo
secret = bar
#deny=0.0.0.0/0.0.0.0
permit=0.0.0.0/0.0.0.0
permit=127.0.0.1/255.255.255.0
read = system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate
write = system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate
writetimeout = 5000
httptimeout = 36000
#include manager_additional.conf
#include manager_custom.conf
i am trying to create some API based on this article:
[https://wiki.asterisk.org/wiki/display/AST/Allow+Manager+Access+via+HTTP][1]
the article says , that first i must log in via:
http://localhost:8088/manager?action=login&username=foo&secret=bar
of course i have issabel server in my local network, so i am trying to log in from Chrome:
http://192.168.0.100:8088/manager?action=login&username=foo&secret=bar
the result is the following:
Not Found
The requested URL was not found on this server.
Asterisk Server
the ports on the server are open, listening, no firewall blocking them - i can telnet these ports 8080 and 5038 from my command line
netstat on my issabel server:
[root#issabel ~]# netstat -tlpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 1181/smbd
tcp 0 0 0.0.0.0:4190 0.0.0.0:* LISTEN 2414/cyrus-master
tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 2414/cyrus-master
tcp 0 0 0.0.0.0:995 0.0.0.0:* LISTEN 2414/cyrus-master
tcp 0 0 127.0.0.1:20004 0.0.0.0:* LISTEN 2558/php
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2011/mysqld
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 1181/smbd
tcp 0 0 0.0.0.0:5038 0.0.0.0:* LISTEN 2526/asterisk
tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN 2414/cyrus-master
tcp 0 0 0.0.0.0:4559 0.0.0.0:* LISTEN 2587/hfaxd
tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 2414/cyrus-master
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 2526/asterisk
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 981/sshd
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 1658/master
tcp6 0 0 :::443 :::* LISTEN 979/httpd
tcp6 0 0 :::445 :::* LISTEN 1181/smbd
tcp6 0 0 :::4190 :::* LISTEN 2414/cyrus-master
tcp6 0 0 :::993 :::* LISTEN 2414/cyrus-master
tcp6 0 0 :::995 :::* LISTEN 2414/cyrus-master
tcp6 0 0 :::139 :::* LISTEN 1181/smbd
tcp6 0 0 :::110 :::* LISTEN 2414/cyrus-master
tcp6 0 0 :::143 :::* LISTEN 2414/cyrus-master
tcp6 0 0 :::80 :::* LISTEN 979/httpd
tcp6 0 0 :::22 :::* LISTEN 981/sshd
tcp6 0 0 :::25 :::* LISTEN 1658/master
My goal is, to show the calling numbers to my CallCenter operators , find these numbers in my local database and display the caller names with the data needed to handle the cutomers in our information system based on web.
[root#issabel static-http]# ls -la ./
total 696
drwxrwxr-x 2 asterisk asterisk 4096 Jul 15 2019 .
drwxrwxr-x. 14 asterisk asterisk 4096 Jun 8 06:12 ..
-rw-rw-r-- 1 asterisk asterisk 6066 Jun 6 2018 ajamdemo.html
-rw-rw-r-- 1 asterisk asterisk 461 Jun 6 2018 astman.css
-rw-rw-r-- 1 asterisk asterisk 7912 Jun 6 2018 astman.js
-rw-rw-r-- 1 asterisk asterisk 573949 Jun 6 2018 core-en_US.xml
-rw-rw-r-- 1 asterisk asterisk 4170 Jun 6 2018 mantest.html
-rw-rw-r-- 1 asterisk asterisk 96653 Jun 6 2018 prototype.js
any hint appreciated

You also need install web files in correct location.
Check that you have files in /var/lib/asterisk/static-http/

cp -Rfv /var/lib/asterisk/* /usr/share/asterisk/

Related

HTTPD non available from remote computer

I've just installed a Nagios on Centos 7.
I followed the same procedure used for my test environment.
Only difference between test and prod is that the server was not prepared by me, but was an automatic provisioning.
Anyway, i'm failing to undestand why the Nagios web page (and the Apache standard page) is not reachable.
I've already checked with network team for ports blocked and they told me that the traffic is not blocked.
What is wrong with this server?
Here is the config.
# netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 1503/mysqld
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 12139/httpd
tcp 0 0 127.0.0.1:50000 0.0.0.0:* LISTEN 616/oneagentwatchdo
tcp 0 0 127.0.0.1:50001 0.0.0.0:* LISTEN 616/oneagentwatchdo
tcp 0 0 127.0.0.1:50002 0.0.0.0:* LISTEN 616/oneagentwatchdo
tcp 0 0 127.0.0.1:50003 0.0.0.0:* LISTEN 616/oneagentwatchdo
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1758/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1568/master
tcp6 0 0 :::22 :::* LISTEN 1758/sshd
tcp6 0 0 ::1:25 :::* LISTEN 1568/master
udp 0 0 0.0.0.0:68 0.0.0.0:* 837/dhclient
udp 0 0 127.0.0.1:323 0.0.0.0:* 565/chronyd
udp6 0 0 ::1:323 :::* 565/chronyd
FirewallD is "Inactive".
Even if was active the list of port and service would be:
# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: dhcpv6-client http ssh
ports: 80/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
Iptables is not installed and therefore not active
SELinux status: disabled
I'm still thinking that there is a block somewhere but i cannot identify where it could be.

Can I set Tomcat SSL port other then 443 or 8443

I have Plesk on my server that is using both ports as:
#netstat -lnp | grep 443
tcp 0 0 0.0.0.0:8443 0.0.0.0:* LISTEN 5513/sw-cp-server:
tcp6 0 0 :::443 :::* LISTEN 32660/httpd
tcp6 0 0 :::8443 :::* LISTEN 5513/sw-cp-server:
unix 2 [ ACC ] STREAM LISTENING 110443 31339/dovecot /var/run/dovecot/stats
Best regards
Yes, you can. http://tomcat.apache.org/tomcat-7.0-doc/ssl-howto.html (First Google hit, incidentally)

Apache HTTP Server port doesn't respond

I'm forging a packet to start a TCP connection with port 80 (so I'm sending a TCP-SYN) and the HTTP Server does not respond at all.
I've ran netstat -natu during the all process and no change on the port 80 state:
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 192.168.1.7:41562 151.101.61.140:443 ESTABLISHED
tcp 0 0 192.168.1.7:45660 216.58.214.161:80 ESTABLISHED
tcp 0 0 192.168.1.7:50852 151.101.193.69:80 TIME_WAIT
tcp 0 0 192.168.1.7:36450 64.233.184.95:443 ESTABLISHED
tcp 1 0 192.168.1.7:46960 162.213.33.49:443 CLOSE_WAIT
tcp6 0 0 :::80 :::* LISTEN
tcp6 0 0 ::1:631 :::* LISTEN
tcp6 1 0 ::1:35050 ::1:631 CLOSE_WAIT
udp 0 0 0.0.0.0:631 0.0.0.0:*
udp 0 0 0.0.0.0:49933 0.0.0.0:*
udp 0 0 0.0.0.0:5287 0.0.0.0:*
The port is always on LISTEN state, and upon receiving a TCP-SYN it should change to SYN_RECV right?
If it helps, a Wireshark capture of the packet I send:
So I can't seem to see what the problem is.
Have you noticed that you're using tcp6 (mean IPv6) but trying to open up the session using IPv4?
I guess that's why it's not opening the session. Try to align to IPv4.

Apache does not start on EC2

I have a t2.medium ec2 instance which runs apache. Everything was fine till today morning but suddenly apache stopped working and does not restart again.
[ec2-user#ip-172-31-3-46 ~]$ sudo service httpd start
Starting httpd: [FAILED]
[ec2-user#ip-172-31-3-46 ~]$ service httpd start
Starting httpd: (13)Permission denied: AH00072: make_sock: could not bind to address [::]:80
(13)Permission denied: AH00072: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
AH00015: Unable to open logs
[FAILED]
Then we checked where port 80 is already listening.
[ec2-user#ip-172-31-3-46 ~]$ sudo netstat -tupln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 2204/rpcbind
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2392/sshd
tcp 0 0 0.0.0.0:38935 0.0.0.0:* LISTEN 2225/rpc.statd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2714/sendmail
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2664/mysqld
tcp 0 0 :::111 :::* LISTEN 2204/rpcbind
tcp 0 0 :::22 :::* LISTEN 2392/sshd
tcp 0 0 :::46232 :::* LISTEN 2225/rpc.statd
udp 0 0 0.0.0.0:68 0.0.0.0:* 2090/dhclient
udp 0 0 0.0.0.0:111 0.0.0.0:* 2204/rpcbind
udp 0 0 172.31.3.46:123 0.0.0.0:* 2416/ntpd
udp 0 0 127.0.0.1:123 0.0.0.0:* 2416/ntpd
udp 0 0 0.0.0.0:123 0.0.0.0:* 2416/ntpd
udp 0 0 0.0.0.0:51407 0.0.0.0:* 2225/rpc.statd
udp 0 0 0.0.0.0:683 0.0.0.0:* 2204/rpcbind
udp 0 0 127.0.0.1:708 0.0.0.0:* 2225/rpc.statd
udp 0 0 :::111 :::* 2204/rpcbind
udp 0 0 :::683 :::* 2204/rpcbind
udp 0 0 :::40147 :::* 2225/rpc.statd
But there is no sign of port 80 in this.
We need to go live today but this has posed a major problem? Can someone please suggest what to do?
Try this: pidof httpd or pidof apache2 (depending on the distro running on that t2micro aws instance). If it returns any pid then kill that pid or those pids manually issuing a kill -9 pid then try restarting apache. If that doesn't work you should investigate the apache logs. That should give you more info about what is preventing apache to start and a possible way to fix the issue so you can start apache. Deploying a new instance is not going to help you to start the apache on your current instance and/or figure out the current issue.

Gateway Timeout: can't connect to remote host after reboot

I'm running apache2 on a CentOS 6.7 VM. My PHP website was working fine before a reboot but afterwards I'm getting 504 Gateway Timeout.
$ telnet <MYIP> 80
Trying <MYIP>...
Connected to <MYHOSTNAME>.
Escape character is '^]'.
HTTP/1.0 504 Gateway Timeout
Gateway Timeout: can't connect to remote host
Connection closed by foreign host.
I've been googling for hours but can't find anything that works. The website works locally i.e. if I wget http://localhost:80/.
My iptables is as follows:
$ sudo netstat -plnt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1556/rpcbind
tcp 0 0 0.0.0.0:35443 0.0.0.0:* LISTEN 1578/rpc.statd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1745/sshd
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 1782/postmaster
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1866/master
tcp 0 0 ::ffff:127.0.0.1:8005 :::* LISTEN 2736/java
tcp 0 0 :::8009 :::* LISTEN 2736/java
tcp 0 0 :::111 :::* LISTEN 1556/rpcbind
tcp 0 0 :::80 :::* LISTEN 2854/httpd
tcp 0 0 :::8080 :::* LISTEN 2736/java
tcp 0 0 :::54644 :::* LISTEN 1578/rpc.statd
tcp 0 0 :::22 :::* LISTEN 1745/sshd
tcp 0 0 ::1:5432 :::* LISTEN 1782/postmaster
tcp 0 0 ::1:25 :::* LISTEN 1866/master
enter code here
Any ideas what could be wrong or how to troubleshoot this?
After having restarted apache many times and trying to set firewall rules again I did both again and it worked.
I've no clue what the issue was so still interested if anyone knows.