[gelöst, dank doxon]Wie Extension ändern bzw. Anruf weiterleiten ?

MET

Mitglied
Mitglied seit
27 Okt 2004
Beiträge
682
Punkte für Reaktionen
0
Punkte
16
Habe meine Domain so eingerichtet, dass Anrufe mit der SIP URI sip:[email protected] vom Asterisk an Extension 30 weitergeleitet werden. Das funktioniert soweit. Dies möchte ich jetzt jedoch noch derart erweitern, dass je nach Vorname auch Anrufe auf sip:[email protected] vom Asterisk an Extension 30 weitergeleitet werden.

Geht dies bspw. einfach mit
callerid = vorname <30>
falls ja, spielt Gross- oder Kleinschreibung des Vornamens eine Rolle?
Oder muss mit einem
set(callerid,....)
der Vorname erst in eine vollständige callerid umgewandelt werden, wenn ja, wie?

Danke für eine Hilfe

Nachtrag:
Eben ausprobiert. Die Version mit
callerid = vorname <30>
scheint schon einmal nicht zu gehen.

Wie könnte man dies mit dem set-Befehl machen?
 
Zuletzt bearbeitet:
Nach etwas "herumhirnen" meine ich schliesslich erkannt zu haben, dass das zu lösende Problem nichts mit der CallerID zu tun hat, wie ich dies zuerst vermutete, sondern vielmehr mit der Extension. Wenn meine Überlegungen jetzt richtig sind, würde es darum gehen

1. einen SIP-Teilnehmer mit der ID [Vornamen] zu definieren.

Da sich dieser Teilnehmer aber nie am Asterisk registrieren wird, müssten deshalb

2. alle Anrufe an ihn automatisch an den SIP-Teilnehmer mit der ID [30] weitergeleitet werden.

Dazu jetzt die Fragen:
- Was sind die minimal erforderlichen Einträge für diese "virtuelle" ID [Vornamen] und
- Wie wird eine solche Weiterleitung an ID [30] eingerichtet?
 
Ich bin mir nicht ganz sicher da ich die Funktion nicht nutzte, aber ich meinte man kann das in der extensions.conf direkt definieren.

Code:
exten => foobar,1,Dial(SIP/30,60)

Für sip:[email protected]
 
In Anlehnung an Betateilchen's Baukasten habe ich es jetzt einmal so versucht:

In sip.conf:
Code:
[vorname1]
type=peer
username=vorname
fromuser=vorname
nat=yes
insecure=very
canreinvite=no
disallow=all
allow=alaw
allow=ulaw
allow=ilbc

[vorname1_in]
type=peer
username=vorname
fromuser=vorname
disallow=all
allow=ulaw
allow=alaw
allow=ilbc
context=incoming
und in extension.conf:
Code:
[incoming]
exten => vorname1,1,macro,ruf|SIP|30
....
Dies funktioniert so jedoch nicht. In der CLI ist mit verbosity=6 nichts von einem eingehenden Anfuf zu erkennen. Das X-Lite 3.0 mit dem der Test durchgeführt wird meldet "Call failed: not found".

Habe noch wie von doxon vorgeschlagen in extension.conf:
Code:
[incoming]
exten => vorname1,1,Dial(SIP/30,60)
exten => provider1,1,macro,ruf|SIP|30
....
ausprobiert, dies jedoch mit gleichem negativen Ergebnis.

Irgendwelche Ideen weshalb dies so nicht geht und wie dies richtigerweise gemacht werden müsste?

Danke:
 
Lass mal die sip-Peers weg, und mach das nur mit dem Eintrag in der extensions.conf.
(reload nicht vergessen)

Dann poste die Ausgaben beim Rufaufbau mit vorherigem "sip debug".
 
Zuletzt bearbeitet:
Hoffentlich habe ich den relevanten Teil beim Rufaufbau von der CLI kopieren können. Dies jetzt mit
Code:
[incoming]
exten => Vorname,1,macro,ruf|SIP|30
exten => 30,1,macro,ruf|SIP|30
Den Output sende ich Dir als Text-File per PN.

Übrigens, wie wird "sip debug" wieder ausgeschaltet?

Nachtrag: Ok, dank Google mit "sip no debug"

Nachtrag 2: Könnte es vielleicht damit zusammenhängen, dass das X-Lite für den Testanruf sich hinter dem glechen Router befindet und die gleiche IP hat wie der ATA ???
 
Zuletzt bearbeitet:
Falls noch jemand hier vorbeistolpern sollte, zeige ich auch den Debug-Output von zwei Tests (hoffentlich vollständig anonymisiert). In beiden Fällen rufe ich mit X-Lite als MET von My.dyndns.org meinen Asterisk an, einmal mit sip:vorname@MyDomain wo keine Verbindung zustande kommt und einmal mit sip:30@MyDomain was funktioniert. In beiden Fällen müsste die SIP URI zu sip:[email protected] aufgelöst werden.

Der Teil im Output, wo es anders läuft, wurde rot markiert.

1. sip:vorname@MyDomain (funktioniert nicht)
--------------------------------------------
Code:
<--- SIP read from 85.107.191.187:11098 --->
INVITE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP 192.168.1.32:5070;branch=z9hG4bK-d87543-3166210473655d4f-1--d87543-;rport
Max-Forwards: 70
Contact: <sip:[email protected]:5070>
To: "sip:[email protected]"<sip:[email protected]>
From: "Direct SIP"<sip:[email protected]>;tag=c01a921d
Call-ID: ZWE4MWQ3NDM4YTgwM2FlNGIxZWRlNTIwOTc1MzdmZjg.
CSeq: 1 INVITE
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO
Content-Type: application/sdp
User-Agent: X-Lite release 1006e stamp 34025
Content-Length: 323

v=0
o=- 1 2 IN IP4 192.168.1.32
s=CounterPath X-Lite 3.0
c=IN IP4 192.168.1.32
t=0 0
m=audio 5076 RTP/AVP 107 119 0 98 8 3 101
a=alt:1 1 : 0BZgk+v6 4R+02ZVj 192.168.1.32 5076
a=fmtp:101 0-15
a=rtpmap:107 BV32/16000
a=rtpmap:119 BV32-FEC/16000
a=rtpmap:98 iLBC/8000
a=rtpmap:101 telephone-event/8000
a=sendrecv

<------------->
--- (12 headers 13 lines) ---
Sending to 85.107.191.187 : 11098 (NAT)
Using INVITE request as basis request - ZWE4MWQ3NDM4YTgwM2FlNGIxZWRlNTIwOTc1MzdmZjg.
Found no matching peer or user for '85.107.191.187:11098'
Found RTP audio format 107
Found RTP audio format 119
Found RTP audio format 0
Found RTP audio format 98
Found RTP audio format 8
Found RTP audio format 3
Found RTP audio format 101
Peer audio RTP is at port 192.168.1.32:5076
Found unknown media description format BV32 for ID 107
Found unknown media description format BV32-FEC for ID 119
Found audio description format iLBC for ID 98
Found audio description format telephone-event for ID 101
Capabilities: us - 0x40c (ulaw|alaw|ilbc), peer - audio=0x40e (gsm|ulaw|alaw|ilbc)/video=0x0 (nothing), combined - 0x40c (ulaw|alaw|ilbc)
Non-codec capabilities (dtmf): us - 0x1 (telephone-event), peer - 0x1 (telephone-event), combined - 0x1 (telephone-event)
Peer audio RTP is at port 192.168.1.32:5076
[COLOR=Red]Looking for vorname in default (domain MyDomain.com)[/COLOR]

<--- Reliably Transmitting (NAT) to 85.107.191.187:11098 --->
[COLOR=Red]SIP/2.0 404 Not Found[/COLOR]
Via: SIP/2.0/UDP 192.168.1.32:5070;branch=z9hG4bK-d87543-3166210473655d4f-1--d87543-;received=85.107.191.187;rport=11098
From: "Direct SIP"<sip:[email protected]>;tag=c01a921d
To: "sip:[email protected]"<sip:[email protected]>;tag=as500790e7
Call-ID: ZWE4MWQ3NDM4YTgwM2FlNGIxZWRlNTIwOTc1MzdmZjg.
CSeq: 1 INVITE
User-Agent: MyDevice
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces
Content-Length: 0


<------------>
Scheduling destruction of SIP dialog 'ZWE4MWQ3NDM4YTgwM2FlNGIxZWRlNTIwOTc1MzdmZjg.' in 32000 ms (Method: INVITE)
vsXXXX*CLI>
<--- SIP read from 85.107.191.187:11098 --->
ACK sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP 192.168.1.32:5070;branch=z9hG4bK-d87543-3166210473655d4f-1--d87543-;rport
To: "sip:[email protected]"<sip:[email protected]>;tag=as500790e7
From: "Direct SIP"<sip:[email protected]>;tag=c01a921d
Call-ID: ZWE4MWQ3NDM4YTgwM2FlNGIxZWRlNTIwOTc1MzdmZjg.
CSeq: 1 ACK
Content-Length: 0
2. sip:30@MyDomain (funktioniert)
---------------------------------
(Hier fehlt der Anfang vom Rufaufbau, müsste aber gleich sein wie oben.)
Code:
--- (12 headers 13 lines) ---
Sending to 85.107.191.187 : 11124 (NAT)
Using INVITE request as basis request - YWIzYzc5ZGZhMTEwOTY0ZDg4MzE1MjliMzhhNDlmYzU.
Found no matching peer or user for '85.107.191.187:11124'
Found RTP audio format 107
Found RTP audio format 119
Found RTP audio format 0
Found RTP audio format 98
Found RTP audio format 8
Found RTP audio format 3
Found RTP audio format 101
Peer audio RTP is at port 192.168.1.32:5094
Found unknown media description format BV32 for ID 107
Found unknown media description format BV32-FEC for ID 119
Found audio description format iLBC for ID 98
Found audio description format telephone-event for ID 101
Capabilities: us - 0x40c (ulaw|alaw|ilbc), peer - audio=0x40e (gsm|ulaw|alaw|ilbc)/video=0x0 (nothing), combined
Non-codec capabilities (dtmf): us - 0x1 (telephone-event), peer - 0x1 (telephone-event), combined - 0x1 (telepho
Peer audio RTP is at port 192.168.1.32:5094
[COLOR=Red]Looking for 30 in default (domain MyDomain.com)
list_route: hop: <sip:[email protected]:5070>[/COLOR]
vsXXXX*CLI>
<--- Transmitting (NAT) to 85.107.191.187:11124 --->
[COLOR=Red]SIP/2.0 100 Trying[/COLOR]
Via: SIP/2.0/UDP 192.168.1.32:5070;branch=z9hG4bK-d87543-c5224d03a82e165b-1--d87543-;received=85.107.191.187;rpo
From: "Direct SIP"<sip:[email protected]>;tag=a1562453
To: "sip:[email protected]"<sip:[email protected]>
Call-ID: YWIzYzc5ZGZhMTEwOTY0ZDg4MzE1MjliMzhhNDlmYzU.
CSeq: 1 INVITE
User-Agent: MyDevice
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces
Contact: <sip:[email protected]>
Content-Length: 0


<------------>
    -- Executing [30@default:1] NoCDR("SIP/My.dyndns.org-f678b3e0", "") in new stack
    -- Executing [30@default:2] Macro("SIP/My.dyndns.org-f678b3e0", "ruf|SIP|30") in new stack
    -- Executing [s@macro-ruf:1] NoOp("SIP/My.dyndns.org-f678b3e0", "Wir sind im Macro ruf gelandet") in n
    -- Executing [s@macro-ruf:2] Dial("SIP/My.dyndns.org-f678b3e0", "SIP/30|28|r") in new stack
Audio is at 77.99.99.99 port 11858
Adding codec 0x4 (ulaw) to SDP
Adding codec 0x8 (alaw) to SDP
Adding non-codec 0x1 (telephone-event) to SDP
Reliably Transmitting (NAT) to 85.107.191.187:10024:
INVITE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP 77.99.99.99:5060;branch=z9hG4bK4d95fefb;rport
From: "Direct SIP" <sip:[email protected]>;tag=as4c1349dd
To: <sip:[email protected]>
Contact: <sip:[email protected]>
Call-ID: [email protected]
CSeq: 102 INVITE
User-Agent: MyDevice
Max-Forwards: 70
Date: Mon, 26 Jan 2009 17:49:05 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces
Content-Type: application/sdp
Content-Length: 262

v=0
o=root 20806 20806 IN IP4 77.99.99.99
s=session
c=IN IP4 77.99.99.99
t=0 0
m=audio 11858 RTP/AVP 0 8 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:off - - - -
a=ptime:20
a=sendrecv

---
    -- Called 30
vsXXXX*CLI>
<--- Transmitting (NAT) to 85.107.191.187:11124 --->
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP 192.168.1.32:5070;branch=z9hG4bK-d87543-c5224d03a82e165b-1--d87543-;received=85.107.191.187;rpo
From: "Direct SIP"<sip:[email protected]>;tag=a1562453
To: "sip:[email protected]"<sip:[email protected]>;tag=as502de8af
Call-ID: YWIzYzc5ZGZhMTEwOTY0ZDg4MzE1MjliMzhhNDlmYzU.
CSeq: 1 INVITE
User-Agent: MyDevice
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces
Contact: <sip:[email protected]>
Content-Length: 0


<------------>
Was läuft hier im einen Fall schief?
 
Zuletzt bearbeitet:
Ist das Softphone denn in beiden Fällen komplett unregistriert am Server? (So wie es ein externer Anrufer währe)

Lösche einfach mal den SIP-Account in dem Softphone und versuche es dann noch einmal.
Vielleicht bist du beim wählen der 30@... am Server registriert und somit evtl. in einem anderen default-Kontext.


Poste bitte mal den General-Teil der SIP.conf und den entsprechenden Kontext der extensions.conf.
 
Ist das Softphone denn in beiden Fällen komplett unregistriert am Server? (So wie es ein externer Anrufer währe)

"Im Prinzip Ja." Das Softphone ist für P2P konfiguriert. Im ersten Test (Output per PN) war als Domain MyDomain eingetragen; bei den obigen Tests jedoch DynDns. Hatte es eben noch probiert mit einer Domain "xxx" aber gleiches negatives Ergebnis. Hingegen sind bei allen diesen Tests Anrufer und ATA für den Asterisk unter der gleichen IP, da beide über meinen Router laufen. Ich habe im Moment keine Möglichkeit vollsändig von "ausserhalb" zu testen, da der eine und andere mögliche Testpartner im Moment nicht erreichbar sind.

Lösche einfach mal den SIP-Account in dem Softphone und versuche es dann noch einmal.
Vielleicht bist du beim wählen der 30@... am Server registriert und somit evtl. in einem anderen default-Kontext.
Mit 30@... ist nur der ATA registriert. Das Softphone ist nicht dafür konfiguriert. Der Debug-Output zeigt auch den Grandstream ATA als peer 30.

Poste bitte mal den General-Teil der SIP.conf und den entsprechenden Kontext der extensions.conf.

sip.conf:
-------
Code:
[general]
context=default
bindport=5060
bindaddr=77.99.99.99
srvlookup=yes
useragent=MyDevice
disallow=all
allow=ulaw
allow=alaw
allow=ilbc  


register => ... jede Menge Sip-Provider alle ok
extension.conf:
--------------
Code:
[general]
static=yes
writeprotect=no
 
Mit "entsprechenden Kontext in der extensions.conf" mein ich in diesem Fall den default-Kontext und alle relevanten die du da includierst.

Also steht der Asterisk, zusammen mit dem ATA und den Softphone im gleichen (internen) LAN, oder? Hast du nach aussen hin eine Feste IP?

Was ist wenn du den Asteirsk in der SIP-Adresse mit der internen IP ansprichst. Geht es dann?
 
Die extension.conf-Teile stelle ich noch zusammen.
Also steht der Asterisk, zusammen mit dem ATA und den Softphone im gleichen (internen) LAN, oder? Hast du nach aussen hin eine Feste IP?
ATA und Laptop mit X-Lite hinter Router (variable IP)
Asterisk extern auf vServer (feste IP)
Was ist wenn du den Asteirsk in der SIP-Adresse mit der internen IP ansprichst. Geht es dann?
Extern habe ich es probiert und geht alle Versionen ausser mit Vornamen. Weiss nicht wie ich die interne IP des Asterisk herausfinden könnte, sorry.
 
Achso ne, wenn der Asterisk extern steht ist da so in Ordnung mit der IP.
Ich dachte der steht mit bei dir im LAN.


Dann warte ich mal auf die extensions.conf, vielleicht lässt sich da was erkennen.


EDIT: Nach jedem Andern der config-Files den "reload" nicht vergesen Das hätte schon so manchem viel Sucherei erspart ;)
 
Hier jetzt noch die entsprechenden Teile der extension.conf
Code:
[general]
static=yes
writeprotect=no

[Local]
; Erreichbarkeit Nebenstellen 30-39 SIP sicherstellen
exten => _3X,1,NoCDR()
exten => _3X,n,macro,ruf|SIP|${EXTEN}
; Erreichbarkeit Nebenstelle 40 IAX sicherstellen
exten => 40,1,NoCDR()
exten => 40,n,macro,ruf|IAX2|${EXTEN}

[incoming]
exten => vorname,1,macro,ruf|SIP|30
exten => 30,1,macro,ruf|SIP|30 
exten => ... plus alle div. Provider

[default]
include => Local
include => echotest
include => mailbox
include => mailbox_own

[app30]
include => default
include => outgoing_30_provider
include => outgoing_30_direct
include => outgoing_30_callback
 

EDIT: Nach jedem Andern der config-Files den "reload" nicht vergesen Das hätte schon so manchem viel Sucherei erspart ;)
Ist mir wohl bekannt, im Positiven wie im Negativen. In diesem Fall trifft dieser Fehler nicht zu.
 
Der Fehler ist ganz eindeutig.

Du verweist in der sip.conf im (General Abschnitt) auf den Context "Default".
In diesen wird also immer verwiesen wenn ein nicht registrierter SIP-Anruf rein kommt.

Im Context "Default" in der extensions.conf includierst du auch "Lokal", somit kannst du die 30 erreichen. Aber du includierst eben nicht den Context "incoming" wo die Version mit dem "vorname" steht. Darum gibt der Asterisk auch ein 404 zurück, weil er "vorname" eben nicht finden kann.

Wenn du die extension "vorname" in den Context "Lokal" verschiebst, sollte dein Vorhaben gelingen :)
 
:) Yuhui! Richtig! Super! :)

Vielen Dank doxon bei der Hilfe für diese Zangengeburt!

Wünsche Dir jetzt noch eine gute Nacht.

Grüsse aus K'nopel/I'bul

Marcel

P.S. 1: Hoffe Du löschst jetzt auch noch den Inhalt der PNs. Danke.
P.S. 2: Falls P.S. 1 noch nicht ausgeführt ist, hast Du noch alle Informationen um es selbst auszuprobieren ;-)
 
Zuletzt bearbeitet:
PNs sind gelöscht.

Hab grad eh keinen SIP Client zur Hand um es zu testen ;)

Freut mich aber das ich dir helfen konnte.

Gruß, Sven.
 
@MET
Bitte nächstes Mal "Code" statt "Quote"-Tags verwenden, dass erhöht die Lesbarkeit!

Danke...
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.