Asterisk sip peer

Hi,
I have an Asterisk behind nat on the internet. I registered it in my ITSP. But couldn’t route calls to ITSP or get call from this. my confs:

sip.conf:

register => tcp://accoun:secret@itsp.com:5560/itsp

[itsp]
host=dynamic
secret=secret
context=itsp_incoming
type=friend
transport=tcp
directmedia=no
;avpf=yes
force_avp=yes
encryption=yes
icesupport=yes
disallow=all
allow=all
dtlsenable=yes
dtlsverify=fingerprint
dtlscertfile=/etc/asterisk/keys/asterisk.pem
dtlscafile=/etc/asterisk/keys/ca.crt
dtlssetup=actpass

extensions.conf:

[internal]

exten => _X.,1,Dial(SIP/${EXTEN})
;exten => _X.,n,Answer()
exten => _X.,n,Hangup()

[outgoing]

exten => _X.,1,Dial(SIP/itsp/${EXTEN})
;exten => _X.,n,Answer()
exten => _X.,n,Hangup()

[itsp_incoming]
include => internal

I receive this error:
[Mar 15 01:39:08] WARNING[2500][C-0000002a]: app_dial.c:2437 dial_exec_full: Unable to create channel of type ‘SIP’ (cause 20 - Subscriber absent)
== Everyone is busy/congested at this time (1:0/0/1)

plz help.
B.R

Your ITSP hasn’t registered with you. That is normal. What is not normal is a configuration that requires them to register with you, especially as you need to know their address to be able to register with them.

thanks for reply.
Can you explain more with an example?

host=dynamic means that you don’t know their address and they must register with you before you can make calls to them.

I’ve never heard of an ITSP that registers.

You appear to know their address (itsp.com, although I think you meant itsp.example.com), so why not use it?

Asterisk registered with ITSP, So calls (incoming and outgoing) shouldn’t pass through over this user?
It is a wrong concept?
itsp context is defined for configuring some options.

You registered with the ITSP, so the ITSP knows your IP address. The ITSP did not (and will not) register with you, so you don’t know their address.