Hello everyone, I am a newbie in Asterisk. I am trying to set up Webrtc to make calls to cucm(cisco sip server) IVR. The Webrtc client can’t establish a connection with the Asterisk due to ssl error. I have generted a certificate request and used Windows AD CA to sign the certificate. I created a certificate chain to see if it could resolve the issues but to no avail. can anyone assist?
*CLI> [Jan 22 11:39:22] ERROR[6179]: iostream.c:647 ast_iostream_start_tls: Problem setting up ssl connection: error:00000001:lib(0)::reason(1), Internal SSL error
[Jan 22 11:39:22] ERROR[6179]: tcptls.c:179 handle_tcptls_connection: Unable to set up ssl connection with peer ‘10.18.3.15:56013’
[Jan 22 11:39:22] ERROR[6179]: iostream.c:552 ast_iostream_close: SSL_shutdown() failed: error:00000001:lib(0)::reason(1), Internal SSL error
[Jan 22 11:39:22] WARNING[6183]: res_http_websocket.c:842 __ast_websocket_uri_cb: WebSocket connection from ‘10.18.3.15:56014’ could not be accepted - no protocols requested
I’m not sure if this is a SSL error (yet)… there is another problem you have in the connection:
WebSocket connection from ‘10.18.3.15:56014’ could not be accepted - no protocols requested
This means you are attempting to connect a websocket connection without specifying ‘sip’ in the second parameter. A WebRTC SIP client is no simple undertaking, even with the assistance of the SIP.js library.
new WebSocket(‘wss://<must_be_full_server_name_matching_ssl>:8989/ws’, 'sip');
If you are looking for something working out the box then run this docker file:
Thank you so much. I have added the ‘sip’ parameter now. The websocket is open now.
I really do not understand this docker command. I don’t see where to enter the ip address of asterisk .can you throw more light on this?
C:\Users\UCHE\Desktop\MyDockerProject>docker build --tag browser-phone:latest .
[+] Building 0.1s (1/1) FINISHED docker:desktop-linux
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 859B 0.0s
Dockerfile:11
9 | # ===========================
10 | # Show the terminal (if you are in Visual Studio Code) and issue the following command:
11 | >>> docker build --tag browser-phone:latest.
12 | # (Don’t forget to include that little fullstop at the end)
13 | # Note: Last time I ran this it took about 15minutes… go take the dog for a walk!
ERROR: failed to solve: dockerfile parse error on line 11: unknown instruction: docke
docker build --tag browser-phone:latest .
The dockerfile creates a docker image with a functional Asterisk v20 instance and then loads in InnovateAsterisk’s Browser-Phone app. The Browser-Phone app will use the HTTP server built inside the Asterisk server so a separate HTTP server will not be needed.
The docker instance expects to be executed with a Debian Bookworm Linux execution environment. Since you are using Windows, you will need to either install Windows Subsystems for Linux (WSL) or install a VM running Linux and run the docker image within it.
If you build the docker image and can successfully run it, then you can access the Browser-Phone app by accessing the URL:
https://localhost:8089/
(if your web browser is running on the same host as the docker Asterisk instance)
or
https://IP_address_of_host_running_docker_Asterisk_instance:8089/
(if your web browser is NOT on the same host as the docker Asterisk instance)
I can’t tell you much else about your issue because the error message was truncated for your posting.
See ya…
d.c.
if i understand correctly, i need to install docker linux.If yes, i have ubuntu where i installled asterisk
On Sat, Feb 1, 2025, 1:33 PM imchandave via Asterisk Community <notifications@asterisk.discoursemail.com> wrote:
imchandave
February 1docker build --tag browser-phone:latest .
The dockerfile creates a docker image with a functional Asterisk v20 instance and then loads in InnovateAsterisk’s Browser-Phone app. The Browser-Phone app will use the HTTP server built inside the Asterisk server so a separate HTTP server will not be needed.
The docker instance expects to be executed with a Debian Bookworm Linux execution environment. Since you are using Windows, you will need to either install Windows Subsystems for Linux (WSL) or install a VM running Linux and run the docker image within it.
If you build the docker image and can successfully run it, then you can access the Browser-Phone app by accessing the URL:
[https://localhost:8089/](https://localhost:8089/)
(if your web browser is running on the same host as the docker Asterisk instance)
or
[https://IP_address_of_host_running_docker_Asterisk_instance:8089/](https://IP_address_of_host_running_docker_Asterisk_instance:8089/)
(if your web browser is NOT on the same host as the docker Asterisk instance)
I can’t tell you much else about your issue because the error message was truncated for your posting.
See ya…
d.c.
Visit Topic or reply to this email to respond.
You are receiving this because you enabled mailing list mode.
To unsubscribe from these emails, click here.
redisuser@ecall:~$ sudo docker build --tag browser-phone:latest .
[+] Building 0.3s (1/1) FINISHED docker:default
=> [internal] load build definition from Dockerfile 0.2s
=> => transferring dockerfile: 2B 0.1s
ERROR: failed to solve: failed to read dockerfile: open Dockerfile: no such file or directory
can somone put me in the right track?
WebSocket Test with SIP.js Call 0000@domain let socket; const connectWebSocket = () => { socket = new WebSocket('wss://ecall.domain:8089/ws', 'sip'); socket.onopen = () => {
console.log('WebSocket is open now.');
socket.send('Hello Server!');
};
socket.onmessage = (event) => {
console.log('WebSocket message received:', event.data);
};
socket.onclose = (event) => {
console.log('WebSocket is closed now.');
console.log('Close event:', event);
// Attempt to reconnect after a delay
setTimeout(connectWebSocket, 5000);
};
socket.onerror = (error) => {
console.log('WebSocket error observed:', error);
};
};
connectWebSocket();
const userAgent = new SIP.UserAgent({
uri: SIP.UserAgent.makeURI('sip:0000@domain'),
transportOptions: {
server: 'wss://ecall.domain:8089/ws'
},
authorizationUsername: 'redisuser',
authorizationPassword: 'password123.fuo',
contactName: 'fuo',
viaHost: 'ecall.domain',
displayName: 'Joe Doe',
sessionDescriptionHandlerFactoryOptions: {
constraints: {
audio: true,
video: true
},
peerConnectionOptions: {
iceServers: [{ urls: 'stun:stun.l.google.com:19302' }]
},
offerOptions: {
offerToReceiveAudio: true,
offerToReceiveVideo: true
},
alwaysAcquireMediaFirst: true
}
});
userAgent.start().then(() => {
console.log('User agent started.');
document.getElementById('callButton').addEventListener('click', () => {
const target = SIP.UserAgent.makeURI('sip:0000@domain');
const inviter = new SIP.Inviter(userAgent, target);
inviter.invite();
console.log('Call initiated to 0000@domain');
});
}).catch(error => {
console.error('Failed to start user agent:', error);
});
</script>
the below message is that i am getting WebSocket is open now.
sip.min.js:2 Sat Feb 01 2025 20:02:04 GMT+0100 (West Africa Standard Time) | sip.Inviter | Inviter.invite
sip_client:70 Call initiated to 0000@domain.com
sip.min.js:2 Sat Feb 01 2025 20:02:04 GMT+0100 (West Africa Standard Time) | sip.Inviter | Session aj5rhc4rjve601906cnq3idqljcqsr transitioned to state Establishing
sip.min.js:2 Sat Feb 01 2025 20:02:04 GMT+0100 (West Africa Standard Time) | sip.Transport | Sending WebSocket message:
INVITE sip:0000@dominSIP/2.0
Via: SIP/2.0/WSS ecall.domain.com;branch=z9hG4bK1005601
To: sip:0000@domain.com
From: “Joe Doe” sip:0000@domain.com;tag=3idqljcqsr
CSeq: 1 INVITE
Call-ID: aj5rhc4rjve601906cnq
Max-Forwards: 70
Contact: sip:fuo@ecall.domain.com;transport=ws;ob
Allow: ACK,CANCEL,INVITE,MESSAGE,BYE,OPTIONS,INFO,NOTIFY,REFERa
Supported: outbound
User-Agent: SIP.js/0.21.2
Content-Type: application/sdp
Content-Length: 1678
v=0
o=- 265617354159106652 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE 0
a=extmap-allow-mixed
a=msid-semantic: WMS ccf1d6a4-1608-4508-b353-a2d7c16abb67
m=audio 57498 UDP/TLS/RTP/SAVPF 111 63 9 0 8 13 110 126
c=IN IP4 102.90.63.22
a=rtcp:9 IN IP4 0.0.0.0
a=candidate:3875443124 1 udp 2122260223 10.18.42.119 57498 typ host generation 0 network-id 1 network-cost 10
a=candidate:1236562058 1 udp 1686052607 102.90.63.22 57498 typ srflx raddr 10.18.42.119 rport 57498 generation 0 network-id 1 network-cost 10
a=candidate:408175904 1 tcp 1518280447 10.18.42.119 9 typ host tcptype active generation 0 network-id 1 network-cost 10
a=ice-ufrag:dI4w
a=ice-pwd:kWUiZMChQrEPMS+tJoNXlwF1
a=ice-options:trickle
a=fingerprint:sha-256 65:2F:E2:0A:E0:29:E8:59:7D:85:FD:33:CA:5B:D7:E3:B0:A7:9F:A6:1C:FA:63:82:BD:F1:E0:2B:48:34:02:48
a=setup:actpass
a=mid:0
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 docs/native-code/rtp-hdrext/abs-send-time - src - Git at Google
a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid
a=sendrecv
a=msid:ccf1d6a4-1608-4508-b353-a2d7c16abb67 443cec63-1344-464b-83cd-3e29d92c6373
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:111 opus/48000/2
a=rtcp-fb:111 transport-cc
a=fmtp:111 minptime=10;useinbandfec=1
a=rtpmap:63 red/48000/2
a=fmtp:63 111/111
a=rtpmap:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:13 CN/8000
a=rtpmap:110 telephone-event/48000
a=rtpmap:126 telephone-event/8000
a=ssrc:1130610524 cname:OKeWjc64lJD5JaOe
a=ssrc:1130610524 msid:ccf1d6a4-1608-4508-b353-a2d7c16abb67 443cec63-1344-464b-83cd-3e29d92c6373
sip.min.js:2 Sat Feb 01 2025 20:02:04 GMT+0100 (West Africa Standard Time) | sip.user-agent-client | Not connected.
print @ sip.min.js:2
genericLog @ sip.min.js:2
genericLog @ sip.min.js:2
error @ sip.min.js:2
onTransportError @ sip.min.js:2
onTransportError @ sip.min.js:2
onTransportError @ sip.min.js:2
onTransportError @ sip.min.js:2
(anonymous) @ sip.min.js:2
Promise.catch
send @ sip.min.js:2
De @ sip.min.js:2
init @ sip.min.js:2
He @ sip.min.js:2
Ye @ sip.min.js:2
invite @ sip.min.js:2
sendInvite @ sip.min.js:2
(anonymous) @ sip.min.js:2
Promise.then
invite @ sip.min.js:2
(anonymous) @ sip_client:69
sip.min.js:2 Sat Feb 01 2025 20:02:04 GMT+0100 (West Africa Standard Time) | sip.user-agent-client | User agent client request transport error. Generating internal 503 Service Unavailable.
“docker build --tag browser-phone:latest .” is looking for a Dockerfile file (with a capital D) in the directory where you executed the “docker build …” command.
ERROR: failed to solve: failed to read dockerfile: open Dockerfile: no such file or directory
Please clone the github repo to your Linux/Mac first. The Dockerfile must be in your current folder you are working in, then issue the commands that are in the comments:
docker build --tag browser-phone:latest .
then
docker run -t -i -p 5060:5060/udp -p 8089:8089/tcp browser-phone:latest
then navigate to https://localhost:8089/
in a browser like firefox or chrome from the same machine that is running these commands.
[quote=“Siperb, post:11, topic:106513”]
docker build --tag browser-phone:latest .
[/quote]okThis is the error which i am having redisuser@ecall:/usr/src/asterisk-22.1.1/contrib/docker$ sudo docker build --tag browser-phone:latest .
[sudo] password for redisuser:
[+] Building 148.4s (6/11) docker:default
=> [internal] load build definition from Dockerfile 0.6s
=> => transferring dockerfile: 1.58kB 0.3s
=> [internal] load metadata for Docker Hub Container Image Library | App Containerization 19.4s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> CACHED [1/7] FROM Docker Hub Container Image Library | App Containerization 0.0s
=> [internal] load build context 0.0s
=> => transferring context: 67B 0.0s
=> ERROR [2/7] RUN apk add --no-cache bash build-base linu 126.9s
[2/7] RUN apk add --no-cache bash build-base linux-headers ta r curl wget git autoconf automake libtool gettext speex speex-dev opus opus-dev pjsua pjsip pjsip-dev libedit libedit-dev jansson jansson-dev ncurses ncurses-de v mariadb-connector-c mariadb-connector-c-dev ffmpeg ffmpeg-dev yaml yaml-dev openssl openssl-dev:
8.579 fetch https://dl-cdn.alpinelinux.org/alpine/v3.21/main/x86_64/APKINDEX.tar .gz
13.58 WARNING: fetching https://dl-cdn.alpinelinux.org/alpine/v3.21/main: tempor ary error (try again later)
13.58 fetch https://dl-cdn.alpinelinux.org/alpine/v3.21/community/x86_64/APKINDE X.tar.gz
122.1 ERROR: unable to select packages:
122.1 autoconf (no such package):
122.1 required by: world[autoconf]
122.1 automake (no such package):
122.1 required by: world[automake]
122.1 bash (no such package):
122.1 required by: world[bash]
122.1 build-base (no such package):
122.1 required by: world[build-base]
122.1 curl (no such package):
122.1 required by: world[curl]
122.1 gettext (no such package):
122.1 required by: world[gettext]
122.1 git (no such package):
122.1 required by: world[git]
122.1 jansson (no such package):
122.1 required by: world[jansson]
122.1 jansson-dev (no such package):
122.1 required by: world[jansson-dev]
122.1 libedit (no such package):
122.1 required by: world[libedit]
122.1 libedit-dev (no such package):
122.1 required by: world[libedit-dev]
122.1 libtool (no such package):
122.1 required by: world[libtool]
122.1 linux-headers (no such package):
122.1 required by: world[linux-headers]
122.1 mariadb-connector-c (no such package):
122.1 required by: world[mariadb-connector-c]
122.1 mariadb-connector-c-dev (no such package):
122.1 required by: world[mariadb-connector-c-dev]
122.1 ncurses (no such package):
122.1 required by: world[ncurses]
122.1 ncurses-dev (no such package):
122.1 required by: world[ncurses-dev]
122.1 openssl (no such package):
122.1 required by: world[openssl]
122.1 openssl-dev (no such package):
122.1 required by: world[openssl-dev]
122.1 opus (no such package):
122.1 required by: world[opus]
122.1 opus-dev (no such package):
122.1 required by: world[opus-dev]
122.1 pjsip (no such package):
122.1 required by: world[pjsip]
122.1 pjsip-dev (no such package):
122.1 required by: world[pjsip-dev]
122.1 pjsua (no such package):
122.1 required by: world[pjsua]
122.1 speex (no such package):
122.1 required by: world[speex]
122.1 speex-dev (no such package):
122.1 required by: world[speex-dev]
122.1 tar (no such package):
122.1 required by: world[tar]
122.1 wget (no such package):
122.1 required by: world[wget]
122.1 yaml (no such package):
122.1 required by: world[yaml]
122.1 yaml-dev (no such package):
122.1 required by: world[yaml-dev]
122.1 so:libgcc_s.so.1 (no such package):
122.1 required by: zimg-3.0.5-r2[so:libgcc_s.so.1]
122.1 rav1e-libs-0.7.1-r0[so:libgcc_s.so.1]
122.1 libhwy-1.0.7-r0[so:libgcc_s.so.1]
122.1 openexr-libiex-3.3.2-r0[so:libgcc_s.so.1]
122.1 libopenmpt-0.7.12-r0[so:libgcc_s.so.1]
122.1 shaderc-2024.0-r2[so:libgcc_s.so.1]
122.1 onevpl-libs-2023.3.1-r2[so:libgcc_s.so.1]
122.1 openexr-libilmthread-3.3.2-r0[so:libgcc_s.so.1]
122.1 openexr-libopenexr-3.3.2-r0[so:libgcc_s.so.1]
122.1 libdovi-3.3.1-r0[so:libgcc_s.so.1]
122.1 libsrt-1.5.3-r0[so:libgcc_s.so.1]
122.1 libplacebo-6.338.2-r3[so:libgcc_s.so.1]
122.1 libjxl-0.10.3-r0[so:libgcc_s.so.1]
122.1 so:libstdc++.so.6 (no such package):
122.1 required by: zimg-3.0.5-r2[so:libstdc++.so.6]
122.1 x265-libs-3.6-r0[so:libstdc++.so.6]
122.1 libhwy-1.0.7-r0[so:libstdc++.so.6]
122.1 openexr-libiex-3.3.2-r0[so:libstdc++.so.6]
122.1 libopenmpt-0.7.12-r0[so:libstdc++.so.6]
122.1 shaderc-2024.0-r2[so:libstdc++.so.6]
122.1 onevpl-libs-2023.3.1-r2[so:libstdc++.so.6]
122.1 openexr-libilmthread-3.3.2-r0[so:libstdc++.so.6]
122.1 openexr-libopenexr-3.3.2-r0[so:libstdc++.so.6]
122.1 libsrt-1.5.3-r0[so:libstdc++.so.6]
122.1 imath-3.1.12-r0[so:libstdc++.so.6]
122.1 libplacebo-6.338.2-r3[so:libstdc++.so.6]
122.1 libjxl-0.10.3-r0[so:libstdc++.so.6]
122.1 so:libX11.so.6 (no such package):
122.1 required by: libpulse-17.0-r4[so:libX11.so.6]
122.1 ffmpeg-libavutil-6.1.2-r1[so:libX11.so.6]
122.1 so:libdrm.so.2 (no such package):
122.1 required by: ffmpeg-libavdevice-6.1.2-r1[so:libdrm.so.2]
122.1 ffmpeg-libavutil-6.1.2-r1[so:libdrm.so.2]
122.1 so:libva-drm.so.2 (no such package):
122.1 required by: ffmpeg-libavutil-6.1.2-r1[so:libva-drm.so.2]
122.1 so:libva-x11.so.2 (no such package):
122.1 required by: ffmpeg-libavutil-6.1.2-r1[so:libva-x11.so.2]
122.1 so:libva.so.2 (no such package):
122.1 required by: ffmpeg-libavcodec-6.1.2-r1[so:libva.so.2]
122.1 ffmpeg-libavfilter-6.1.2-r1[so:libva.so.2]
122.1 ffmpeg-libavutil-6.1.2-r1[so:libva.so.2]
122.1 so:libvdpau.so.1 (no such package):
122.1 required by: ffmpeg-libavutil-6.1.2-r1[so:libvdpau.so.1]
122.1 so:libbrotlidec.so.1 (no such package):
122.1 required by: libjxl-0.10.3-r0[so:libbrotlidec.so.1]
122.1 so:libbrotlienc.so.1 (no such package):
122.1 required by: libjxl-0.10.3-r0[so:libbrotlienc.so.1]
122.1 so:libgif.so.7 (no such package):
122.1 required by: libjxl-0.10.3-r0[so:libgif.so.7]
122.1 so:libjpeg.so.8 (no such package):
122.1 required by: v4l-utils-libs-1.28.1-r1[so:libjpeg.so.8]
122.1 libjxl-0.10.3-r0[so:libjpeg.so.8]
122.1 so:liblcms2.so.2 (no such package):
122.1 required by: libplacebo-6.338.2-r3[so:liblcms2.so.2]
122.1 libjxl-0.10.3-r0[so:liblcms2.so.2]
122.1 so:libpng16.so.16 (no such package):
122.1 required by: libjxl-0.10.3-r0[so:libpng16.so.16]
122.1 so:libgomp.so.1 (no such package):
122.1 required by: soxr-0.1.3-r7[so:libgomp.so.1]
122.1 vidstab-1.1.1-r0[so:libgomp.so.1]
122.1 so:libnuma.so.1 (no such package):
122.1 required by: x265-libs-3.6-r0[so:libnuma.so.1]
122.1 so:libaom.so.3 (no such package):
122.1 required by: ffmpeg-libavcodec-6.1.2-r1[so:libaom.so.3]
122.1 so:libdav1d.so.7 (no such package):
122.1 required by: ffmpeg-libavcodec-6.1.2-r1[so:libdav1d.so.7]
122.1 so:libmp3lame.so.0 (no such package):
122.1 required by: ffmpeg-libavcodec-6.1.2-r1[so:libmp3lame.so.0]
122.1 so:libopus.so.0 (no such package):
122.1 required by: ffmpeg-libavcodec-6.1.2-r1[so:libopus.so.0]
122.1 so:libtheoradec.so.1 (no such package):
122.1 required by: ffmpeg-libavcodec-6.1.2-r1[so:libtheoradec.so.1]
122.1 so:libtheoraenc.so.1 (no such package):
122.1 required by: ffmpeg-libavcodec-6.1.2-r1[so:libtheoraenc.so.1]
122.1 so:libvorbis.so.0 (no such package):
122.1 required by: ffmpeg-libavcodec-6.1.2-r1[so:libvorbis.so.0]
122.1 libopenmpt-0.7.12-r0[so:libvorbis.so.0]
122.1 so:libvorbisenc.so.2 (no such package):
122.1 required by: ffmpeg-libavcodec-6.1.2-r1[so:libvorbisenc.so.2]
122.1 so:libwebp.so.7 (no such package):
122.1 required by: ffmpeg-libavcodec-6.1.2-r1[so:libwebp.so.7]
122.1 so:libwebpmux.so.3 (no such package):
122.1 required by: ffmpeg-libavcodec-6.1.2-r1[so:libwebpmux.so.3]
122.1 so:libfontconfig.so.1 (no such package):
122.1 required by: ffmpeg-libavfilter-6.1.2-r1[so:libfontconfig.so.1]
122.1 libass-0.17.3-r0[so:libfontconfig.so.1]
122.1 so:libfreetype.so.6 (no such package):
122.1 required by: ffmpeg-libavfilter-6.1.2-r1[so:libfreetype.so.6]
122.1 libass-0.17.3-r0[so:libfreetype.so.6]
122.1 so:libfribidi.so.0 (no such package):
122.1 required by: ffmpeg-libavfilter-6.1.2-r1[so:libfribidi.so.0]
122.1 libass-0.17.3-r0[so:libfribidi.so.0]
122.1 so:libharfbuzz.so.0 (no such package):
122.1 required by: ffmpeg-libavfilter-6.1.2-r1[so:libharfbuzz.so.0]
122.1 libass-0.17.3-r0[so:libharfbuzz.so.0]
122.1 so:libmpg123.so.0 (no such package):
122.1 required by: libopenmpt-0.7.12-r0[so:libmpg123.so.0]
122.1 so:libvorbisfile.so.3 (no such package):
122.1 required by: libopenmpt-0.7.12-r0[so:libvorbisfile.so.3]
122.1 so:libcjson.so.1 (no such package):
122.1 required by: librist-0.2.10-r1[so:libcjson.so.1]
122.1 so:libmbedcrypto.so.16 (no such package):
122.1 required by: librist-0.2.10-r1[so:libmbedcrypto.so.16]
122.1 so:libbz2.so.1 (no such package):
122.1 required by: ffmpeg-libavformat-6.1.2-r1[so:libbz2.so.1]
122.1 so:libxml2.so.2 (no such package):
122.1 required by: ffmpeg-libavformat-6.1.2-r1[so:libxml2.so.2]
122.1 so:libzmq.so.5 (no such package):
122.1 required by: ffmpeg-libavfilter-6.1.2-r1[so:libzmq.so.5]
122.1 ffmpeg-libavformat-6.1.2-r1[so:libzmq.so.5]
122.1 so:libSPIRV-Tools-opt.so (no such package):
122.1 required by: shaderc-2024.0-r2[so:libSPIRV-Tools-opt.so]
122.1 so:libSPIRV-Tools.so (no such package):
122.1 required by: shaderc-2024.0-r2[so:libSPIRV-Tools.so]
122.1 so:libglslang.so.15 (no such package):
122.1 required by: shaderc-2024.0-r2[so:libglslang.so.15]
122.1 libplacebo-6.338.2-r3[so:libglslang.so.15]
122.1 so:libglslang-default-resource-limits.so.15 (no such package):
122.1 required by: libplacebo-6.338.2-r3[so:libglslang-default-resource-limi ts.so.15]
122.1 so:libvulkan.so.1 (no such package):
122.1 required by: libplacebo-6.338.2-r3[so:libvulkan.so.1]
122.1 so:libX11-xcb.so.1 (no such package):
122.1 required by: libpulse-17.0-r4[so:libX11-xcb.so.1]
122.1 so:libdbus-1.so.3 (no such package):
122.1 required by: libpulse-17.0-r4[so:libdbus-1.so.3]
122.1 so:libintl.so.8 (no such package):
122.1 required by: libpulse-17.0-r4[so:libintl.so.8]
122.1 so:libltdl.so.7 (no such package):
122.1 required by: libpulse-17.0-r4[so:libltdl.so.7]
122.1 so:liborc-0.4.so.0 (no such package):
122.1 required by: libpulse-17.0-r4[so:liborc-0.4.so.0]
122.1 so:libsndfile.so.1 (no such package):
122.1 required by: libpulse-17.0-r4[so:libsndfile.so.1]
122.1 so:libspeexdsp.so.1 (no such package):
122.1 required by: libpulse-17.0-r4[so:libspeexdsp.so.1]
122.1 so:libtdb.so.1 (no such package):
122.1 required by: libpulse-17.0-r4[so:libtdb.so.1]
122.1 so:libxcb.so.1 (no such package):
122.1 required by: ffmpeg-libavdevice-6.1.2-r1[so:libxcb.so.1]
122.1 libpulse-17.0-r4[so:libxcb.so.1]
122.1 so:libasound.so.2 (no such package):
122.1 required by: ffmpeg-libavdevice-6.1.2-r1[so:libasound.so.2]
122.1 so:libxcb-shape.so.0 (no such package):
122.1 required by: ffmpeg-libavdevice-6.1.2-r1[so:libxcb-shape.so.0]
122.1 so:libxcb-shm.so.0 (no such package):
122.1 required by: ffmpeg-libavdevice-6.1.2-r1[so:libxcb-shm.so.0]
122.1 so:libxcb-xfixes.so.0 (no such package):
122.1 required by: ffmpeg-libavdevice-6.1.2-r1[so:libxcb-xfixes.so.0]
122.1 pkgconfig (no such package):
122.1 required by: ffmpeg-dev-6.1.2-r1[pkgconfig]
Dockerfile:5
4 | # Install necessary dependencies for building Asterisk
5 | >>> RUN apk add --no-cache
6 | >>> bash
7 | >>> build-base
8 | >>> linux-headers
9 | >>> tar
10 | >>> curl
11 | >>> wget
12 | >>> git
13 | >>> autoconf
14 | >>> automake
15 | >>> libtool
16 | >>> gettext
17 | >>> speex
18 | >>> speex-dev
19 | >>> opus
20 | >>> opus-dev
21 | >>> pjsua
22 | >>> pjsip
23 | >>> pjsip-dev
24 | >>> libedit
25 | >>> libedit-dev
26 | >>> jansson
27 | >>> jansson-dev
28 | >>> ncurses
29 | >>> ncurses-dev
30 | >>> mariadb-connector-c
31 | >>> mariadb-connector-c-dev
32 | >>> ffmpeg
33 | >>> ffmpeg-dev
34 | >>> yaml
35 | >>> yaml-dev
36 | >>> openssl
37 | >>> openssl-dev
38 |
---|
ERROR: failed to solve: process "/bin/sh -c apk add --no-cache bash buil d-base linux-headers tar curl wget git autoconf auto make libtool gettext speex speex-dev opus opus-dev p jsua pjsip pjsip-dev libedit libedit-dev jansson jansson -dev ncurses ncurses-dev mariadb-connector-c mariadb-connector-c -dev ffmpeg ffmpeg-dev yaml yaml-dev openssl openssl-dev " did not complete successfully: exit code: 99 |
redisuser@ecall:/usr/src/asterisk-22.1.1/contrib/docker$ ls -la |
total 156 |
drwxrwxr-x 2 root root 4096 Feb 1 19:44 . |
drwxrwxr-x 13 root root 4096 Jan 9 20:39 … |
-rw-r–r-- 1 root root 1540 Feb 1 19:44 Dockerfile |
-rw-rw-r-- 1 root root 472 Jan 9 20:39 Dockerfile.asterisk |
-rw-rw-r-- 1 root root 305 Jan 9 20:39 Dockerfile.packager |
these are the contents of the Dockerfile:# Use an Alpine Linux base image
FROM alpine:latest
Install necessary dependencies for building Asterisk
RUN apk add --no-cache
bash
build-base
linux-headers
tar
curl
wget
git
autoconf
automake
libtool
gettext
speex
speex-dev
opus
opus-dev
pjsua
pjsip
pjsip-dev
libedit
libedit-dev
jansson
jansson-dev
ncurses
ncurses-dev
mariadb-connector-c
mariadb-connector-c-dev
ffmpeg
ffmpeg-dev
yaml
yaml-dev
openssl
openssl-dev
Set Asterisk version
ENV ASTERISK_VERSION=22.1.1
Create Asterisk build directory
WORKDIR /usr/src/
Download and extract Asterisk source code
RUN wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-${ASTERISK_VERSION}.tar.gz &&
tar -xvzf asterisk-${ASTERISK_VERSION}.tar.gz &&
rm asterisk-${ASTERISK_VERSION}.tar.gz &&
cd asterisk-${ASTERISK_VERSION} &&
./configure --with-jansson-bundled &&
make &&
make install &&
make samples &&
make config
Set the working directory
WORKDIR /etc/asterisk/
Copy your Asterisk configuration files (ensure these exist in your build context)
COPY sip.conf /etc/asterisk/sip.conf
COPY extensions.conf /etc/asterisk/extensions.conf
Set environment variables
ENV AST_USER=asterisk
ENV AST_GROUP=asterisk
Expose SIP ports
EXPOSE 5060/udp
EXPOSE 5061/tcp
Start Asterisk in console mode
CMD [“asterisk”, “-cvvv”]