doesn't call my asterisk

I have setup and have successfully called out via them to several numbers, including 800-444-4444 which reports the freedigits telephone number.

Calling to freedigits number I get sent to their voicemail. No CLI actions are noted. I am on verbosity 28. >sip show registry shows is registered. From the way they are behaving when a call comes in is that they think I am NOT registered. The voicemail says the user is not online.

Where is the disconnect from where * thinks it has registered with freedigits and freedigits does NOT ? Are there some more tools / logs to review to detect the breakdown ?

Asterisk server behind a NAT or firewall ? all appropriate ports forwarded ? proper entries in sip.conf ?

No NAT for asterisk, the extensions are behind the NAT. No ports to forward since no nat.

internet>cable modem>eth0>asterisk,firewall,iptables,etc.>eth1>16 port switch>3ATAs>5 analog phones & one POTS

astlinux is the “brand”. Complete runs off 32MB disk or CF disk on old pentium or SBC.

I have succeeded in bidirectional calling and talking on the following:

I can call out on freedigits and all works fine.
I try to call the freedigits number and “they” don’t believe I am “registered” even though >sip show registry does indicate so.

The caller to freedigits gets sent to voicemail because freedigits does not seem to recognize that I am registered.

My * setup is as follows:
cable modem> Router w/firewall>4 port hub > then, Asterisk 1.2.8,
SPA 3102 ATA, 2 computers connected to the hub.

What I did was assign Exten. 7010 in sip.conf. to the SIP Line on my SPA 3102 ATA and in extensions.conf the remarks are:
exten => s,1,Dial(SIP/7010)
after this remark can be your choice, (Voicemail or GoTo, etc)
but I made it work simply by sending the call to one registered extension.

Well, I fixed it. It was due to not having the $ and the {} in the right postitions when using global variables in the Dial command for free digits.

When I compared a working macro to this one character by character, I discovered the errors.