I'm trying to connect a sip call from sipgate to Asterisk A to Asterisk
B. Both are behind NAT, but port forwarded. I get the connection, but no
voice - either in or out.
I can call on SIP from A to B (and from B to A). Do it all the time.
Asterisk A receives SIP calls from Junction and Teliax.
CLI on A looks right:
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
== Using SIP VRTP CoS mark 6
== Using UDPTL TOS bits 184
== Using UDPTL CoS mark 5
-- Executing [3008384e0 at sipgate-test:1]
Answer("SIP/sipgate-00000016", "") in new stack
-- Executing [3008384e0 at sipgate-test:2]
Goto("SIP/sipgate-00000016", "home,447,1") in new stack
-- Goto (home,447,1)
-- Executing [447 at home:1] NoOp("SIP/sipgate-00000016",
"xxxxxxxxx")
in new stack
-- Executing [447 at home:2] NoOp("SIP/sipgate-00000016",
""yyyyyyyyyyy" <xxxxxxxxx>") in new stack
-- Executing [447 at home:3] Dial("SIP/sipgate-00000016",
"SIP/nhi-riverside-sip") in new stack
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
== Using SIP VRTP CoS mark 6
== Using UDPTL TOS bits 184
== Using UDPTL CoS mark 5
-- Called nhi-riverside-sip
-- SIP/nhi-riverside-sip-00000017 answered SIP/sipgate-00000016
-- Packet2Packet bridging SIP/sipgate-00000016 and
SIP/nhi-riverside-sip-00000017
And on B:
-- Executing [s at incoming:1]
Answer("SIP/nhi-riverside-sip-00000009", "") in new stack
-- Executing [s at incoming:2]
NoOp("SIP/nhi-riverside-sip-00000009",
"" callerid: ""yyyyyyyyyyyyy"
<xxxxxxxxxxxxx>") in new stack
-- Executing [s at incoming:3]
Dial("SIP/nhi-riverside-sip-00000009",
"DAHDI/g0,60") in new stack
-- Called g0
-- DAHDI/1-1 is ringing
Asterisk A sip.conf:
[sipgate]
type=friend
secret= ;;SIP_PASSWORD
insecure=port,invite
defaultuser= ;; SIP-ID
fromuser= ;;SIP-ID
context=sipgate-test
fromdomain=sipgate.com
host=sipgate.com
outboundproxy=proxy.live.sipgate.com
qualify=yes
disallow=all
allow=ulaw
dtmfmode=rfc2833
nat=yes
canreinvite=no
Asterisk A extensions.conf:
[sipgate-test]
exten => _X.,1,Answer()
exten => _X.,n,GoTo(home,447,1)
[home]
exten =>447,1,NoOp(${CALLERID(num)})
exten =>447,n,NoOp(${CALLERID(all)})
exten=>447,n,Dial(SIP/nhi-riverside-sip)
And iptables on the router for Asterisk A:
$IPT -t nat -A PREROUTING -i $EXTIF -p udp --dport 5060 -j DNAT --to
10.10.10.180:5060
$IPT -A FORWARD -p udp --dport 5060 -m state --state NEW -d 10.10.10.180
-j ACCEPT
# for sip, also port forward rtp ports
$IPT -t nat -A PREROUTING -i $EXTIF -p udp --dport 10000:20000 -j DNAT
--to 10.10.11.180 # sip rtp
$IPT -A FORWARD -i $EXTIF -p udp --dport 10000:20000 -j ACCEPT
What am I missing?
sean
sean darcy wrote:> I'm trying to connect a sip call from sipgate to Asterisk A to Asterisk > B. Both are behind NAT, but port forwarded. I get the connection, but no > voice - either in or out. > > I can call on SIP from A to B (and from B to A). Do it all the time. > > Asterisk A receives SIP calls from Junction and Teliax. > > CLI on A looks right: > == Using SIP RTP TOS bits 184 > == Using SIP RTP CoS mark 5 > == Using SIP VRTP CoS mark 6 > == Using UDPTL TOS bits 184 > == Using UDPTL CoS mark 5 > -- Executing [3008384e0 at sipgate-test:1] > Answer("SIP/sipgate-00000016", "") in new stack > -- Executing [3008384e0 at sipgate-test:2] > Goto("SIP/sipgate-00000016", "home,447,1") in new stack > -- Goto (home,447,1) > -- Executing [447 at home:1] NoOp("SIP/sipgate-00000016", "xxxxxxxxx") > in new stack > -- Executing [447 at home:2] NoOp("SIP/sipgate-00000016", > ""yyyyyyyyyyy" <xxxxxxxxx>") in new stack > -- Executing [447 at home:3] Dial("SIP/sipgate-00000016", > "SIP/nhi-riverside-sip") in new stack > == Using SIP RTP TOS bits 184 > == Using SIP RTP CoS mark 5 > == Using SIP VRTP CoS mark 6 > == Using UDPTL TOS bits 184 > == Using UDPTL CoS mark 5 > -- Called nhi-riverside-sip > -- SIP/nhi-riverside-sip-00000017 answered SIP/sipgate-00000016 > -- Packet2Packet bridging SIP/sipgate-00000016 and > SIP/nhi-riverside-sip-00000017 > > And on B: > > -- Executing [s at incoming:1] > Answer("SIP/nhi-riverside-sip-00000009", "") in new stack > -- Executing [s at incoming:2] NoOp("SIP/nhi-riverside-sip-00000009", > "" callerid: ""yyyyyyyyyyyyy" <xxxxxxxxxxxxx>") in new stack > -- Executing [s at incoming:3] Dial("SIP/nhi-riverside-sip-00000009", > "DAHDI/g0,60") in new stack > -- Called g0 > -- DAHDI/1-1 is ringing > > Asterisk A sip.conf: > > [sipgate] > type=friend > secret= ;;SIP_PASSWORD > insecure=port,invite > defaultuser= ;; SIP-ID > fromuser= ;;SIP-ID > context=sipgate-test > fromdomain=sipgate.com > host=sipgate.com > outboundproxy=proxy.live.sipgate.com > qualify=yes > disallow=all > allow=ulaw > dtmfmode=rfc2833 > nat=yes > canreinvite=no > > Asterisk A extensions.conf: > > [sipgate-test] > exten => _X.,1,Answer() > exten => _X.,n,GoTo(home,447,1) > > [home] > exten =>447,1,NoOp(${CALLERID(num)}) > exten =>447,n,NoOp(${CALLERID(all)}) > exten=>447,n,Dial(SIP/nhi-riverside-sip) > > And iptables on the router for Asterisk A: > > $IPT -t nat -A PREROUTING -i $EXTIF -p udp --dport 5060 -j DNAT --to > 10.10.10.180:5060 > $IPT -A FORWARD -p udp --dport 5060 -m state --state NEW -d 10.10.10.180 > -j ACCEPT > > # for sip, also port forward rtp ports > $IPT -t nat -A PREROUTING -i $EXTIF -p udp --dport 10000:20000 -j DNAT > --to 10.10.11.180 # sip rtp > $IPT -A FORWARD -i $EXTIF -p udp --dport 10000:20000 -j ACCEPT > > What am I missing? > > sean >FWIW, asterisk A is 1.6.0.18, B is 1.6.1.10. sean
Reasonably Related Threads
- 1.6.2.14 > 1.6.2.15: blind transfer works but not Xfer on aastra
- 1.6.0.18-rc3: SendFAX causes restart
- sipgate outgoing calls
- Call from 'sip-id' to extension 'sip-id' rejected because extension not found ?
- how to avoid call waiting? Or check DIALSTATUS before Dial()?