Thanks bro for the answer but as i said im not an expert its not my domain
so bro i have searched but no hope as david said in comment
how to change to chan_pjsip ( i mean the command to do it )
and last line
how to make sure that the FW on the router handle these correctly , i call my provider?
last thing those are my config for now can you check them if i did something wrong still 404 same problem i cant hear who im calling but he can
sip.conf
[general]
context=internal
;allowguest=no
allowoverlap=no
bindaddr=0.0.0.0
srvlookup=no
disallow=all
;allow=ulaw
;allow=gsm
;allow=g723
;allow=g726
;allow=g711
;allow=speex
allow=alaw
qualify=yes
;alwaysauthreject=yes
canreinvite=no
nat=no
session-timers=refuse
localnet=192.168.0.0/255.255.255.0
[trunk]
host=10.10.10.1
bindport=5060
Type=friend
;Disallow=all
;allow=ulaw&g729
dtmfmode=rfc2833
qualify=yes
context=internal
disallow=all
allow=alaw
externaddr = 10.0.2.15
localnet=192.168.0.0/255.255.255.0
nat=no
canreinvite=no
[7001]
type=friend
host=dynamic
secret=7001
context=internal
disallow=all
allow=alaw
externaddr = 10.0.2.15
localnet=192.168.0.0/255.255.255.0
nat=no
canreinvite=no
extensions.conf
[internal]
exten => 39143961,1,Answer(SIP/7001)
exten => 39143961,2,Dial(SIP/7001,60)
exten => 39143961,3,Playback(vm-nobodyavail)
exten => 39143961,4,VoiceMail(7001@main)
exten => 39143961,5,Hangup()
;exten => _X.,1,NoOP()
;same => n,Dial(SIP/trunk-in/${EXTEN},45,tTr)
;same => n,Hangup()
;exten => _+216X.,1,NoOp(Tunisia number is being dialed)
;same =>n,Dial(SIP/${EXTEN}@trunk,45,To)
;same =>n,Hangup()
exten => _X.,1,NoOp(Tunisia number is being dialed)
same => n,Set(CALLERID(num)=39143961)
same => n,Dial(SIP/${EXTEN}@trunk,45,To)
same => n,Hangup
and this is my rtp i modifiy the interval to 50000 by my self may be im wrong
;
; RTP Configuration
;
[general]
;
; RTP start and RTP end configure start and end addresses
;
; Defaults are rtpstart=5000 and rtpend=31000
;
rtpstart=10000
rtpend=50000
;
; Whether to enable or disable UDP checksums on RTP traffic
;
;rtpchecksums=no
;
; The amount of time a DTMF digit with no ‘end’ marker should be
; allowed to continue (in ‘samples’, 1/8000 of a second)
;
;dtmftimeout=3000
; rtcpinterval = 5000 ; Milliseconds between rtcp reports
;(min 500, max 60000, default 5000)
;
; Enable strict RTP protection. This will drop RTP packets that do not come
; from the recoginized source of the RTP stream. Strict RTP qualifies RTP
; packet stream sources before accepting them upon initial connection and
; when the connection is renegotiated (e.g., transfers and direct media).
; Initial connection and renegotiation starts a learning mode to qualify
; stream source addresses. Once Asterisk has recognized a stream it will
; allow other streams to qualify and replace the current stream for 5
; seconds after starting learning mode. Once learning mode completes the
; current stream is locked in and cannot change until the next
; renegotiation.
; Valid options are “no” to disable strictrtp, “yes” to enable strictrtp,
; and “seqno”, which does the same thing as strictrtp=yes, but only checks
; to make sure the sequence number is correct rather than checking the time
; interval as well.
; This option is enabled by default.
; strictrtp=yes
;
; Number of packets containing consecutive sequence values needed
; to change the RTP source socket address. This option only comes
; into play while using strictrtp=yes. Consider changing this value
; if rtp packets are dropped from one or both ends after a call is
; connected. This option is set to 4 by default.
; probation=8
;
; Whether to enable or disable ICE support. This option is enabled by default.
; icesupport=false
;
; Hostname or address for the STUN server used when determining the external
; IP address and port an RTP session can be reached at. The port number is
; optional. If omitted the default value of 3478 will be used. This option is
; disabled by default.
;
; e.g. stundaddr:3478=mystun.server.com
;
; stunaddr=
;
; Some multihomed servers have IP interfaces that cannot reach the STUN
; server specified by stunaddr. Blacklist those interface subnets from
; trying to send a STUN packet to find the external IP address.
; Attempting to send the STUN packet needlessly delays processing incoming
; and outgoing SIP INVITEs because we will wait for a response that can
; never come until we give up on the response.
; * Multiple subnets may be listed.
; * Blacklisting applies to IPv4 only. STUN isn’t needed for IPv6.
; * Blacklisting applies when binding RTP to specific IP addresses and not
; the wildcard 0.0.0.0 address. e.g., A PJSIP endpoint binding RTP to a
; specific address using the bind_rtp_to_media_address and media_address
; options. Or the PJSIP endpoint specifies an explicit transport that binds
; to a specific IP address.
;
; e.g. stun_blacklist = 192.168.1.0/255.255.255.0
; stun_blacklist = 10.32.77.0/255.255.255.0
;
; stun_blacklist =
;
; Hostname or address for the TURN server to be used as a relay. The port
; number is optional. If omitted the default value of 3478 will be used.
; This option is disabled by default.
;
; e.g. turnaddr:34780=myturn.server.com
;
; turnaddr=
;
; Username used to authenticate with TURN relay server.
; turnusername=
;
; Password used to authenticate with TURN relay server.
; turnpassword=
;
; Subnets to exclude from ICE host, srflx and relay discovery. This is useful
; to optimize the ICE process where a system has multiple host address ranges
; and/or physical interfaces and certain of them are not expected to be used
; for RTP. For example, VPNs and local interconnections may not be suitable or
; necessary for ICE. Multiple subnets may be listed. If left unconfigured,
; all discovered host addresses are used.
;
; e.g. ice_blacklist = 192.168.1.0/255.255.255.0
; ice_blacklist = 10.32.77.0/255.255.255.0
;
; ice_blacklist =
;
[ice_host_candidates]
;
; When Asterisk is behind a static one-to-one NAT and ICE is in use, ICE will
; expose the server’s internal IP address as one of the host candidates.
; Although using STUN (see the ‘stunaddr’ configuration option) will provide a
; publicly accessible IP, the internal IP will still be sent to the remote
; peer. To help hide the topology of your internal network, you can override
; the host candidates that Asterisk will send to the remote peer.
;
; IMPORTANT: Only use this functionality when your Asterisk server is behind a
; one-to-one NAT and you know what you’re doing. If you do define anything
; here, you almost certainly will NOT want to specify ‘stunaddr’ or ‘turnaddr’
; above.
;
; The format for these overrides is:
;
; =>
;
; The following will replace 192.168.1.10 with 1.2.3.4 during ICE
; negotiation:
;
;192.168.1.10 => 1.2.3.4
;
; You can define an override for more than 1 interface if you have a multihomed
; server. Any local interface that is not matched will be passed through
; unaltered. Both IPv4 and IPv6 addresses are supported.
Note: im not using a static ip and i did not make any rules in firewall on my laptop like ufw or stuff like that may be those info will help you more sir