Remote Extension Hangs Up - What am I doing wrong?

Updated, see 2nd post
I have searched around, and tried to follow the HOWTO on this site from here: http://www.freepbx.org/support/documentation/howtos/howto-setup-a-remote-sip-extension
When a call is made FROM the remote extension, it is hung up usually within about 10 seconds. However, if it receives an inbound call, it doesn’t seem to hang up - everything seems normal.

In advanced SIP settings, I’ve set it to “Static IP” and tried a few different options for the External IP, but when I do this, I am not able to receive inbound calls.

We have a strange setup, in that our VOIP provider ran a dedicated connection, separate from our ISP. The router they provided is 192.168.1.2 on our local network. It has a few public IP provisioned on it, as well as one dedicated for the VOIP connection.
It’s kind of confusing, so I made a flowchart.

I have to run but will update this post in about an hour.
I have the correct ports forwarded through the cisco router.

Sorry it took so long to get back on here.
so things I forgot:
I started with the AsteriskNOW 1.7 distro, and have upgraded to Asterisk 1.8.7 and FreePBX 2.9. We all use the eyebeam softphone.
Our cisco router is running IOS 15.1 3T. I have forwarded the RTP range as well as the 5060 port.
I changed the RTP media ports to 13000-17000 in RDP.conf
I have port 5060 forwarded between 192.168.1.99 and 10.250.x.x, as well as 5060 between 192.168.1.99 and 208.88.x.x - two separate entries
The Trunk connects to 10.250.x.x, which is being forwarded through 192.168.1.2. All internal phones work wonderfully. All of the extensions have NAT enabled
What I am doing is using the regular ISP (208.88.x.x) as the Domain to connect the softphone. It does connect and register, and I can receive calls just fine. But if I make a call, to an external number or to a local extension, the call lasts about 10 seconds and then hangs up.
Here is what the CLI shows:

Connected to Asterisk 1.8.7.0 currently running on localhost (pid = 13148)
Verbosity is at least 3
– Remote UNIX connection
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
– Executing [8015583300@from-internal:1] Macro(“SIP/204-000001dd”, “user-callerid,LIMIT,”) in new stack
– Executing [s@macro-user-callerid:1] Set(“SIP/204-000001dd”, “AMPUSER=204”) in new stack
– Executing [s@macro-user-callerid:2] GotoIf(“SIP/204-000001dd”, “0?report”) in new stack
– Executing [s@macro-user-callerid:3] ExecIf(“SIP/204-000001dd”, “1?Set(REALCALLERIDNUM=204)”) in new stack
– Executing [s@macro-user-callerid:4] Set(“SIP/204-000001dd”, “AMPUSER=204”) in new stack
– Executing [s@macro-user-callerid:5] Set(“SIP/204-000001dd”, “AMPUSERCIDNAME=Dave Goates”) in new stack
– Executing [s@macro-user-callerid:6] GotoIf(“SIP/204-000001dd”, “0?report”) in new stack
– Executing [s@macro-user-callerid:7] Set(“SIP/204-000001dd”, “AMPUSERCID=204”) in new stack
– Executing [s@macro-user-callerid:8] Set(“SIP/204-000001dd”, “CALLERID(all)=“Dave Goates” <204>”) in new stack
– Executing [s@macro-user-callerid:9] GotoIf(“SIP/204-000001dd”, “0?limit”) in new stack
– Executing [s@macro-user-callerid:10] ExecIf(“SIP/204-000001dd”, “1?Set(GROUP(concurrency_limit)=204)”) in new stack
– Executing [s@macro-user-callerid:11] GotoIf(“SIP/204-000001dd”, “1?continue”) in new stack
– Goto (macro-user-callerid,s,24)
– Executing [s@macro-user-callerid:24] Set(“SIP/204-000001dd”, “CALLERID(number)=204”) in new stack
– Executing [s@macro-user-callerid:25] Set(“SIP/204-000001dd”, “CALLERID(name)=Dave Goates”) in new stack
– Executing [s@macro-user-callerid:26] Set(“SIP/204-000001dd”, “CHANNEL(language)=en”) in new stack
– Executing [8015583300@from-internal:2] Set(“SIP/204-000001dd”, “MOHCLASS=default”) in new stack
– Executing [8015583300@from-internal:3] Set(“SIP/204-000001dd”, “_NODEST=”) in new stack
– Executing [8015583300@from-internal:4] Macro(“SIP/204-000001dd”, “record-enable,204,OUT,”) in new stack
– Executing [s@macro-record-enable:1] GotoIf(“SIP/204-000001dd”, “1?check”) in new stack
– Goto (macro-record-enable,s,4)
– Executing [s@macro-record-enable:4] ExecIf(“SIP/204-000001dd”, “0?MacroExit()”) in new stack
– Executing [s@macro-record-enable:5] GotoIf(“SIP/204-000001dd”, “0?Group:OUT”) in new stack
– Goto (macro-record-enable,s,14)
– Executing [s@macro-record-enable:14] GotoIf(“SIP/204-000001dd”, “0?IN”) in new stack
– Executing [s@macro-record-enable:15] ExecIf(“SIP/204-000001dd”, “1?MacroExit()”) in new stack
– Executing [8015583300@from-internal:5] Macro(“SIP/204-000001dd”, “dialout-trunk,1,8015583300,”) in new stack
– Executing [s@macro-dialout-trunk:1] Set(“SIP/204-000001dd”, “DIAL_TRUNK=1”) in new stack
– Executing [s@macro-dialout-trunk:2] GosubIf(“SIP/204-000001dd”, “0?sub-pincheck,s,1”) in new stack
– Executing [s@macro-dialout-trunk:3] GotoIf(“SIP/204-000001dd”, “0?disabletrunk,1”) in new stack
– Executing [s@macro-dialout-trunk:4] Set(“SIP/204-000001dd”, “DIAL_NUMBER=8015583300”) in new stack
– Executing [s@macro-dialout-trunk:5] Set(“SIP/204-000001dd”, “DIAL_TRUNK_OPTIONS=tr”) in new stack
– Executing [s@macro-dialout-trunk:6] Set(“SIP/204-000001dd”, “OUTBOUND_GROUP=OUT_1”) in new stack
– Executing [s@macro-dialout-trunk:7] GotoIf(“SIP/204-000001dd”, “0?nomax”) in new stack
– Executing [s@macro-dialout-trunk:8] GotoIf(“SIP/204-000001dd”, “0?chanfull”) in new stack
– Executing [s@macro-dialout-trunk:9] GotoIf(“SIP/204-000001dd”, “0?skipoutcid”) in new stack
– Executing [s@macro-dialout-trunk:10] Set(“SIP/204-000001dd”, “DIAL_TRUNK_OPTIONS=”) in new stack
– Executing [s@macro-dialout-trunk:11] Macro(“SIP/204-000001dd”, “outbound-callerid,1”) in new stack
– Executing [s@macro-outbound-callerid:1] ExecIf(“SIP/204-000001dd”, “0?Set(CALLERPRES()=)”) in new stack
– Executing [s@macro-outbound-callerid:2] ExecIf(“SIP/204-000001dd”, “0?Set(REALCALLERIDNUM=204)”) in new stack
– Executing [s@macro-outbound-callerid:3] GotoIf(“SIP/204-000001dd”, “1?normcid”) in new stack
– Goto (macro-outbound-callerid,s,6)
– Executing [s@macro-outbound-callerid:6] Set(“SIP/204-000001dd”, “USEROUTCID=(801) 590-0555”) in new stack
– Executing [s@macro-outbound-callerid:7] Set(“SIP/204-000001dd”, “EMERGENCYCID=”) in new stack
– Executing [s@macro-outbound-callerid:8] Set(“SIP/204-000001dd”, “TRUNKOUTCID=8017133199”) in new stack
– Executing [s@macro-outbound-callerid:9] GotoIf(“SIP/204-000001dd”, “1?trunkcid”) in new stack
– Goto (macro-outbound-callerid,s,12)
– Executing [s@macro-outbound-callerid:12] ExecIf(“SIP/204-000001dd”, “1?Set(CALLERID(all)=8017133199)”) in new stack
– Executing [s@macro-outbound-callerid:13] ExecIf(“SIP/204-000001dd”, “1?Set(CALLERID(all)=(801) 590-0555)”) in new stack
– Executing [s@macro-outbound-callerid:14] ExecIf(“SIP/204-000001dd”, “1?Set(CALLERID(all)=8017133199)”) in new stack
– Executing [s@macro-outbound-callerid:15] ExecIf(“SIP/204-000001dd”, “0?Set(CALLERPRES()=prohib_passed_screen)”) in new stack
– Executing [s@macro-dialout-trunk:12] GosubIf(“SIP/204-000001dd”, “0?sub-flp-1,s,1”) in new stack
– Executing [s@macro-dialout-trunk:13] Set(“SIP/204-000001dd”, “OUTNUM=8015583300”) in new stack
– Executing [s@macro-dialout-trunk:14] Set(“SIP/204-000001dd”, “custom=SIP/Paetec”) in new stack
– Executing [s@macro-dialout-trunk:15] ExecIf(“SIP/204-000001dd”, “0?Set(DIAL_TRUNK_OPTIONS=M(setmusic^default))”) in new stack
– Executing [s@macro-dialout-trunk:16] ExecIf(“SIP/204-000001dd”, “0?Set(DIAL_TRUNK_OPTIONS=M(confirm))”) in new stack
– Executing [s@macro-dialout-trunk:17] Macro(“SIP/204-000001dd”, “dialout-trunk-predial-hook,”) in new stack
– Executing [s@macro-dialout-trunk-predial-hook:1] MacroExit(“SIP/204-000001dd”, “”) in new stack
– Executing [s@macro-dialout-trunk:18] GotoIf(“SIP/204-000001dd”, “0?bypass,1”) in new stack
– Executing [s@macro-dialout-trunk:19] GotoIf(“SIP/204-000001dd”, “0?customtrunk”) in new stack
– Executing [s@macro-dialout-trunk:20] Dial(“SIP/204-000001dd”, “SIP/Paetec/8015583300,300,”) in new stack
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
– Called SIP/Paetec/8015583300
– SIP/Paetec-000001de is making progress passing it to SIP/204-000001dd
– SIP/Paetec-000001de answered SIP/204-000001dd
– Locally bridging SIP/204-000001dd and SIP/Paetec-000001de
– Executing [h@macro-dialout-trunk:1] Macro(“SIP/204-000001dd”, “hangupcall,”) in new stack
– Executing [s@macro-hangupcall:1] GotoIf(“SIP/204-000001dd”, “1?theend”) in new stack
– Goto (macro-hangupcall,s,3)
– Executing [s@macro-hangupcall:3] Hangup(“SIP/204-000001dd”, “”) in new stack
== Spawn extension (macro-hangupcall, s, 3) exited non-zero on ‘SIP/204-000001dd’ in macro ‘hangupcall’
== Spawn extension (macro-dialout-trunk, h, 1) exited non-zero on ‘SIP/204-000001dd’
== Spawn extension (macro-dialout-trunk, s, 20) exited non-zero on ‘SIP/204-000001dd’ in macro ‘dialout-trunk’
== Spawn extension (from-internal, 8015583300, 5) exited non-zero on ‘SIP/204-000001dd’

I hate to bump my own posting, but I’m still having the same issue. Does anyone have any suggestions that I could try? Again the phones register and can make calls just fine, but after 10-15 seconds the line hangs up.

Thanks,
Zach

I’d start by dumping your setup and going with the FreePBX Distro or PBX In A Flash. AsteriskNow had many problems before you upgraded it.