1und1 SIP-Gateway, Ruf geht nicht raus

99 views
Skip to first unread message

Strolch

unread,
Feb 3, 2010, 5:07:47 PM2/3/10
to Gemeinschaft Users
Hallo zusammen,
nachdem ich endlich mal wieder zum Einrichten der Gemeinschaft 2.3.1
(privat) gekommen bin, und über so ziemlich alle anfänglichen
Fehlerquellen gestolpert bin ;-( habe ich jetzt ein dickes Problem
beim Rausrufen. Also folgendes, zwei Accounts/ Nummern. Eine Nr bei
Sipgate (funktioniert), vier Nr bei 1und1 (ja ich weiß, 1und1 ist
zickig, ich muss es aber nutzen, zu viele Nummern im Umlauf. Und ja,
ich könnte auf einen anderen Provider umleiten. Mach ich aktuell ja
auch. Behebt aber nur das Problem mit dem Reinwählen und ich kann die
Nummern nicht mehr zuordnen, und Rauswählen geht deshalb immer noch
nicht über 1und1)

Vorab, ich habe meine Fritzbox gekilled beim Versuch die Ports zum
Asterisk durchzuleiten, war DIE Gelegenheit nen richtigen
Firewallrouter davorzupacken. Zugang per 1und1-DSL, nen Dyndns-Account
ist auch da und funzt. Ports werden wie folgt umgebogen:

Proto Quelle Ziel
Anmerkung
TCP DEFAULT IP : 5060 => 192.168.200.22 : 5060 Asterisk
TCP
UDP DEFAULT IP : 5060 => 192.168.200.22 : 5060 Asterisk UDP

Ausgehend wird nichts geblockt.

Gemeinschaft 2.3.1 von der ISO-Installation aus installiert, keine
ISDN-Karten, nur reines SIP.

Sipgate als SIP-Gateway eingerichtet und als GW-Group eingerichtet,
Route ausgehend eingerichtet, Test über LCR zeigt korrektes Gateway
an. Rufe kommen korrekt rein und gehen korrekt raus.


Hier die Einstellungen für 1und1
*******************************************************************************
SIP-Gateway
*******************************************************************************
Registrar = sip.1und1.de
Proxy = leer
Benutzername = 493741******@1und1.de
Passwort = password
Gatewaygruppe = SIP (1und1.de) ******

ausgehende Anrufe zulassen auf JA
Registrieren auf JA

(Rest auf Standard)


*******************************************************************************
Registrierungsstatus
*******************************************************************************
Host Username Refresh
State Reg.Time
sip.1und1.de:5060 493741****** 14385 Registered Wed, 03
Feb 2010 21:15:46


*******************************************************************************
Gatewaygruppe
*******************************************************************************
Titel = SIP (1und1.de) ******
eingehende Anrufe zulassen = JA
Ausgehende CallerID = s/^(.*)
/$1
(Rest auf Standard)


*******************************************************************************
Route eingehend
*******************************************************************************
Aktiv Wochentage Uhrzeit Muster[1] Ziel
x Mo-So 0-24 ^(.*)
1020


*******************************************************************************
Routing&LCR
*******************************************************************************
Muster = ^0
Zeit = Alles
Benutzergruppe = Alle
Gateway/Fallback = SIP (1und1.de) ******


*******************************************************************************
Routing-Test
*******************************************************************************
Wochentage Uhrzeit Muster Route
Mo Di Mi Do Fr Sa So 0000 - 2400 ^0 SIP (1und1.de)
******


Natürlich nen Telefon (Snom360 per DHCP-Provisioning) und nen Benutzer
(Marco Geyer mit der Nr 1020) eingerichtet. Testanruf mit anderen
Telefonen intern hat funktioniert! Von extern über Sipgate kommen auch
Rufe an dem Telefon an. Nur von 1und1 nicht.

*******************************************************************************
Veränderungen in folgenden Dateien vorgenommen
*******************************************************************************

*******************************************************************************
/opt/gemeinschaft/etc/asterisk/sip.conf
*******************************************************************************

externhost = ******.dynalias.net
externrefresh=10 ; How often to refresh externhost if


*******************************************************************************
/opt/gemeinschaft/etc/asterisk/sip-nodes.conf.php
*******************************************************************************

if (strToLower($gw['host']) === 'sip.1und1.de') { # special
settings for 1und1.de
//$canreinvite = 'no';

//$fromdomain = '1und1.de';
//$fromuser = $gw['user'];
externhost = '******.dynalias.net';

//$codecs_allow['alaw' ] = true;
//$codecs_allow['ulaw' ] = true;
//$codecs_allow['ilbc' ] = true;
//$codecs_allow['gsm' ] = true;
//$codecs_allow['g729' ] = true;
//$codecs_allow['slinear'] = true;
}


Wenn ich jetzt ne Nummer am Telefon wähle sagen wir 00123456789 dann
wird gewählt und nach ner Weile am Telefon einfach aufgelegt.

Meldung am Telefon
"Service unavailable"

*******************************************************************************
SIP-Calltrace (schon eingegrenzt und zurechtgestutzt) sieht dabei so
aus:
*******************************************************************************
-- Executing [001736204139@from-internal-users:1] GotoIf("SIP/
1020-0873f668", "0?2:3") in new stack

...

"1|### -GS- Incoming call to 00173*******") in new stack
### -GS- Incoming call to 00173*******
-- Executing [s@macro-check-valid-extension:3] GotoIf("SIP/
1020-0873f668", "1?4:9") in new stack

...

-- Goto (macro-check-valid-extension,s,6)
-- Executing [s@macro-check-valid-extension:6] Macro("SIP/
1020-0873f668", "dial-log-store|1020|out|00173*******") in new stack
-- Executing [s@macro-dial-log-store:1] Set("SIP/1020-0873f668",
"muser=1020") in new stack
-- Executing [s@macro-dial-log-store:2] Set("SIP/1020-0873f668",
"mtype=out") in new stack
-- Executing [s@macro-dial-log-store:3] Set("SIP/1020-0873f668",
"mnumber=00173*******") in new stack
-- Executing [s@macro-dial-log-store:4] GotoIf("SIP/
1020-0873f668", "1?5:13") in new stack
-- Goto (macro-dial-log-store,s,5)
-- Executing [s@macro-dial-log-store:5] GotoIf("SIP/
1020-0873f668", "0?6:9") in new stack
-- Goto (macro-dial-log-store,s,9)
-- Executing [s@macro-dial-log-store:9] NoOp("SIP/1020-0873f668",
"Finish if-if-dial-log-store-216-217") in new stack
-- Executing [s@macro-dial-log-store:10] Set("SIP/1020-0873f668",
"mname=Marco Geyer") in new stack
-- Executing [s@macro-dial-log-store:11] Verbose("SIP/
1020-0873f668", "1|### -GS- Store in dial log of user 1020: out
00173******* Marco Geyer") in new stack

...

-- Executing [s@macro-check-valid-extension:7] NoOp("SIP/
1020-0873f668", "Finish if-if-if-check-valid-extension-41-42-43") in
new stack
-- Executing [s@macro-check-valid-extension:8] NoOp("SIP/
1020-0873f668", "Finish if-if-check-valid-extension-41-42") in new
stack
-- Executing [s@macro-check-valid-extension:9] NoOp("SIP/
1020-0873f668", "Finish if-check-valid-extension-41") in new stack
-- Executing [s@macro-check-valid-extension:10] AGI("SIP/
1020-0873f668", "/opt/gemeinschaft/dialplan-scripts/in-get-where.agi|
00173*******") in new stack
-- Launched AGI Script /opt/gemeinschaft/dialplan-scripts/in-get-
where.agi
-- AGI Script /opt/gemeinschaft/dialplan-scripts/in-get-where.agi
completed, returning 0
-- Executing [s@macro-check-valid-extension:11] Verbose("SIP/
1020-0873f668", "1|### -GS- Extension 00173******* is of type
unknown") in new stack

*******************************************************************************
WARUM IST DIE EXTENSION HIER UNKNOWN?
*******************************************************************************

### -GS- Extension 00173******* is of type unknown
-- Executing [s@macro-check-valid-extension:12] GotoIf("SIP/
1020-0873f668", "1?13:22") in new stack
-- Goto (macro-check-valid-extension,s,13)
-- Executing [s@macro-check-valid-extension:13] Verbose("SIP/
1020-0873f668", "1|### -GS- Extension 00173******* is unknown") in new
stack
### -GS- Extension 00173******* is unknown
-- Executing [s@macro-check-valid-extension:14] GotoIf("SIP/
1020-0873f668", "0?15:18") in new stack
-- Goto (macro-check-valid-extension,s,18)
-- Executing [s@macro-check-valid-extension:18] NoOp("SIP/
1020-0873f668", "Finish if-if-check-valid-extension-44-45") in new
stack
-- Executing [s@macro-check-valid-extension:19] Verbose("SIP/
1020-0873f668", "1|### -GS- Dial to the gateway for unknown extension:
00173*******") in new stack
### -GS- Dial to the gateway for unknown extension: 00173*******
-- Executing [s@macro-check-valid-extension:20] Macro("SIP/
1020-0873f668", "dial-gateway|00173*******") in new stack
-- Executing [s@macro-dial-gateway:1] Set("SIP/1020-0873f668",
"mnumber=00173*******") in new stack
-- Executing [s@macro-dial-gateway:2] GotoIf("SIP/1020-0873f668",
"0?3:4") in new stack
-- Goto (macro-dial-gateway,s,4)
-- Executing [s@macro-dial-gateway:4] NoOp("SIP/1020-0873f668",
"Finish if-dial-gateway-180") in new stack
-- Executing [s@macro-dial-gateway:5] GotoIf("SIP/1020-0873f668",
"1?6:9") in new stack
-- Goto (macro-dial-gateway,s,6)
-- Executing [s@macro-dial-gateway:6] Set("SIP/1020-0873f668",
"__is_forwarded=0") in new stack
-- Executing [s@macro-dial-gateway:7] Set("SIP/1020-0873f668",
"__forwarded_by=1020") in new stack
-- Executing [s@macro-dial-gateway:8] Goto("SIP/1020-0873f668",
"11") in new stack
-- Goto (macro-dial-gateway,s,11)
-- Executing [s@macro-dial-gateway:11] NoOp("SIP/1020-0873f668",
"Finish if-dial-gateway-181") in new stack
-- Executing [s@macro-dial-gateway:12] AGI("SIP/1020-0873f668", "/
opt/gemeinschaft/dialplan-scripts/callblocking.agi|1020|00173*******")
in new stack
-- Launched AGI Script /opt/gemeinschaft/dialplan-scripts/
callblocking.agi
-- AGI Script /opt/gemeinschaft/dialplan-scripts/callblocking.agi
completed, returning 0

*******************************************************************************
WAS SOLL HIER DAS CALLBLOCKING ??? ODER IST DAS NUR, WEIL INTERN DIE
NUMMER
NICHT EXISTIERT UND NEN GATEWAY BEMÜHT WERDEN MUSS ???
*******************************************************************************

-- Executing [s@macro-dial-gateway:13] GotoIf("SIP/1020-0873f668",
"0?14:28") in new stack
-- Goto (macro-dial-gateway,s,28)
-- Executing [s@macro-dial-gateway:28] NoOp("SIP/1020-0873f668",
"Finish if-dial-gateway-182") in new stack
-- Executing [s@macro-dial-gateway:29] GotoIf("SIP/1020-0873f668",
"1?30:31") in new stack
-- Goto (macro-dial-gateway,s,30)
-- Executing [s@macro-dial-gateway:30] Goto("SIP/1020-0873f668",
"allowed") in new stack
-- Goto (macro-dial-gateway,s,39)
-- Executing [s@macro-dial-gateway:39] Verbose("SIP/
1020-0873f668", "1|### -GS- User 1020 is allowed to dial 00173*******
via gateway") in new stack
### -GS- User 1020 is allowed to dial 00173******* via gateway
-- Executing [s@macro-dial-gateway:40] Macro("SIP/1020-0873f668",
"dial-gateway-do|00173*******") in new stack
-- Executing [s@macro-dial-gateway-do:1] Set("SIP/1020-0873f668",
"mnumber=00173*******") in new stack
-- Executing [s@macro-dial-gateway-do:2] Macro("SIP/
1020-0873f668", "is_dmz|00173*******") in new stack
-- Executing [s@macro-is_dmz:1] Set("SIP/1020-0873f668",
"is_dmz_num=00173*******") in new stack
-- Executing [s@macro-is_dmz:2] GotoIf("SIP/1020-0873f668", "1?
3:5") in new stack
-- Goto (macro-is_dmz,s,3)

Ab hier läufts bei SIPGATE anders

-- Goto (macro-dial-gateway-do,s,10)
-- Executing [s@macro-dial-gateway-do:10] AGI("SIP/1020-0873f668",
"/opt/gemeinschaft/dialplan-scripts/get-clir-external.agi|34") in new
stack
-- Launched AGI Script /opt/gemeinschaft/dialplan-scripts/get-clir-
external.agi
-- AGI Script /opt/gemeinschaft/dialplan-scripts/get-clir-
external.agi completed, returning 0
-- Executing [s@macro-dial-gateway-do:11] NoOp("SIP/
1020-0873f668", "Finish if-if-dial-gateway-do-164-165") in new stack
-- Executing [s@macro-dial-gateway-do:12] NoOp("SIP/
1020-0873f668", "Finish if-dial-gateway-do-164") in new stack
-- Executing [s@macro-dial-gateway-do:13] AGI("SIP/1020-0873f668",
"/opt/gemeinschaft/dialplan-scripts/out-route.agi|00173*******|no|1020|
34") in new stack
-- Launched AGI Script /opt/gemeinschaft/dialplan-scripts/out-
route.agi
/opt/gemeinschaft/dialplan-scripts/out-route.agi|00173*******|no|
1020|34: ### -GS- Matching route for "00173*******" is "^0", user
group: any
/opt/gemeinschaft/dialplan-scripts/out-route.agi|00173*******|no|
1020|34: ### -GS- Qualifying caller ID "1020" -> "1020" (s/^(.*)/$1/)
for gategroup "sip-1und1de-******"
-- AGI Script /opt/gemeinschaft/dialplan-scripts/out-route.agi
completed, returning 0
-- Executing [s@macro-dial-gateway-do:14] Set("SIP/1020-0873f668",
"no_route=1") in new stack

*******************************************************************************
OK, KEINE ROUTE, ABER WARUM ???
*******************************************************************************

-- Executing [s@macro-dial-gateway-do:15] Set("SIP/1020-0873f668",
"r=1") in new stack
-- Executing [s@macro-dial-gateway-do:16] Set("SIP/1020-0873f668",
"r_x_cid_name=Marco Geyer") in new stack
-- Executing [s@macro-dial-gateway-do:17] GotoIf("SIP/
1020-0873f668", "1?18:93") in new stack
-- Goto (macro-dial-gateway-do,s,18)
-- Executing [s@macro-dial-gateway-do:18] Set("SIP/1020-0873f668",
"no_route=") in new stack
-- Executing [s@macro-dial-gateway-do:19] GotoIf("SIP/
1020-0873f668", "1?20:30") in new stack
-- Goto (macro-dial-gateway-do,s,20)
-- Executing [s@macro-dial-gateway-do:20] Set("SIP/1020-0873f668",
"CALLERID(num)=1020") in new stack
-- Executing [s@macro-dial-gateway-do:21] Set("SIP/1020-0873f668",
"CALLERID(name)=Marco Geyer") in new stack
-- Executing [s@macro-dial-gateway-do:22] GotoIf("SIP/
1020-0873f668", "0?23:24") in new stack
-- Goto (macro-dial-gateway-do,s,24)
-- Executing [s@macro-dial-gateway-do:24] NoOp("SIP/
1020-0873f668", "Finish if-if-while-dial-gateway-do-166-167-168") in
new stack
-- Executing [s@macro-dial-gateway-do:25] SIPAddHeader("SIP/
1020-0873f668", "P-Asserted-Identity: "Marco%20Geyer" <sip:
10...@1und1.de>") in new stack
-- Executing [s@macro-dial-gateway-do:26] SIPAddHeader("SIP/
1020-0873f668", "P-Preferred-Identity: "Marco%20Geyer" <sip:
10...@1und1.de>") in new stack
-- Executing [s@macro-dial-gateway-do:27] SIPAddHeader("SIP/
1020-0873f668", "Privacy: none") in new stack
-- Executing [s@macro-dial-gateway-do:28] SetCallerPres("SIP/
1020-0873f668", "allowed_passed_screen") in new stack
-- Executing [s@macro-dial-gateway-do:29] Goto("SIP/
1020-0873f668", "35") in new stack
-- Goto (macro-dial-gateway-do,s,35)
-- Executing [s@macro-dial-gateway-do:35] NoOp("SIP/
1020-0873f668", "Finish if-while-dial-gateway-do-166-167") in new
stack
-- Executing [s@macro-dial-gateway-do:36] Verbose("SIP/
1020-0873f668", "1|### Outbound route: SIP/0173*******@gw_24_****** -
Caller ID: "Marco Geyer" <10...@1und1.de>") in new stack
### Outbound route: SIP/0173*******@gw_24_****** - Caller ID: "Marco
Geyer" <10...@1und1.de>
-- Executing [s@macro-dial-gateway-do:37] Dial("SIP/
1020-0873f668", "SIP/0173*******@gw_24_******|180") in new stack
-- Called 0173*******@gw_24_******
[Feb 3 22:20:43] WARNING[2446]: chan_sip.c:12265
handle_response_invite: Received response: "Forbidden" from '"Marco
Geyer"

*******************************************************************************
WIESO FORBIDDEN ??? WEIL INTERN DIE SIP-NUMMER NICHT EXISTIERT ???
*******************************************************************************

<sip:493741******@1und1.de>;tag=as240c1eff'
-- SIP/gw_24_*******-08746bc8 is circuit-busy
== Everyone is busy/congested at this time (1:0/1/0)
-- Executing [s@macro-dial-gateway-do:38] Verbose("SIP/
1020-0873f668", "1|### -GS- Dialstatus for SIP/
0173*******@gw_24_******: CONGESTION") in new stack
### -GS- Dialstatus for SIP/0173*******@gw_24_******: CONGESTION
-- Executing [s@macro-dial-gateway-do:39] GotoIf("SIP/
1020-0873f668", "0?40:42") in new stack
-- Goto (macro-dial-gateway-do,s,42)

...

-- Goto (macro-dial-gateway-do,s,72)
-- Executing [s@macro-dial-gateway-do:72] Verbose("SIP/
1020-0873f668", "1|### -GS- HANGUPCAUSE: 21") in new stack
### -GS- HANGUPCAUSE: 21
-- Executing [s@macro-dial-gateway-do:73] NoOp("SIP/
1020-0873f668", "Finish if-if-if-if-if-if-if-if-if-while-dial-gateway-
do-166-169-170-171-172-173-174-175-176-177") in new

...

-- Goto (macro-sip-remove-header,s,6)


*******************************************************************************
Stell ich die Routing&LCR-Sache wieder auf SIPGATE um, gehts.
Calltrace sieht dann ab dmz so aus:
*******************************************************************************

-- Goto (macro-is_dmz,s,8)
...
-- Executing [s@macro-dial-gateway-do:7] NoOp("SIP/1020-09a41548",
"Finish if-dial-gateway-do-163") in new stack
...
-- Executing [s@macro-dial-gateway-do:10] AGI("SIP/1020-09a41548",
"/opt/gemeinschaft/dialplan-scripts/get-clir-external.agi|34") in new
stack
-- Launched AGI Script /opt/gemeinschaft/dialplan-scripts/get-clir-
external.agi
-- AGI Script /opt/gemeinschaft/dialplan-scripts/get-clir-
external.agi completed, returning 0
...
-- Launched AGI Script /opt/gemeinschaft/dialplan-scripts/out-
route.agi
/opt/gemeinschaft/dialplan-scripts/out-route.agi|00173*******|no|
1020|34: ### -GS- Matching route for "00173*******" is "^0", user
group: any
/opt/gemeinschaft/dialplan-scripts/out-route.agi|00173*******|no|
1020|34: ### -GS- Qualifying caller ID "*******" -> "*******" (s/^(.*)/
*******/) for gategroup "sip-sipgatede"
-- AGI Script /opt/gemeinschaft/dialplan-scripts/out-route.agi
completed, returning 0
-- Executing [s@macro-dial-gateway-do:14] Set("SIP/1020-09a41548",
"no_route=1") in new stack
...
-- Executing [s@macro-dial-gateway-do:20] Set("SIP/1020-09a41548",
"CALLERID(num)=*******") in new stack
-- Executing [s@macro-dial-gateway-do:21] Set("SIP/1020-09a41548",
"CALLERID(name)=Marco Geyer") in new stack
...
"P-Preferred-Identity: "Marco%20Geyer" <sip:*******@sipgate.de>") in
new stack
-- Executing [s@macro-dial-gateway-do:27] SIPAddHeader("SIP/
1020-09a41548", "Privacy: none") in new stack
-- Executing [s@macro-dial-gateway-do:28] SetCallerPres("SIP/
1020-09a41548", "allowed_passed_screen") in new stack
...
-- Executing [s@macro-dial-gateway-do:36] Verbose("SIP/
1020-09a41548", "1|### Outbound route: SIP/0173*******@gw_22_****** -
Caller ID: "Marco Geyer" <*******@sipgate.de>") in new stack
### Outbound route: SIP/0173*******@gw_22_******* - Caller ID: "Marco
Geyer" <*******@sipgate.de>
-- Executing [s@macro-dial-gateway-do:37] Dial("SIP/
1020-09a41548", "SIP/0173*******@gw_22_******|180") in new stack
-- Called 0173*******@gw_22_******
-- SIP/gw_22_******-09a45a50 is making progress passing it to SIP/
1020-09a41548
== Spawn extension (macro-dial-gateway-do, s, 37) exited non-zero on
'SIP/1020-09a41548' in macro 'dial-gateway-do'


*******************************************************************************
So, eventuell hat ja jemand Ideen. Ich hab mir auf jeden Fall schon
die Finger wundgetippt beim Suchen nach Problemen vor allem bezüglich
1und1 und Asterisk/ Gemeinschaft, habs aber bisher noch nicht
hinbekommen.

Wäre nett, wenn einer ne Idee dazu hat :-)

Danke Marco

Reply all
Reply to author
Forward
0 new messages