Sipgate Basic / Manuelle Leitungskonfiguration

  • HAT SICH ERLEDIGT :)




    Hallo liebe Profis,


    ich habe folgendes Problem: Kunde hat 3 SIP-Accounts bei Sipgate (Basic). Heißt drei Leitungen mit Einzelrufnummer.
    Nehme ich das Profil Sipgate (DE) registrieren sich die Leitungen und ich kann auch ausgehende Gespräche führen. Eingehend werden allerdings alle Invites geblockt, weil die passende Leitung nicht gefunden wird. Sipgate schickt im Basic die Zielrufnummer im FROM-Header im Format

    Code
    From: "03012345678"<sip:username@sipgate.de>

    . Im Log ist dann zu sehen, dass die Vorwahl (030) durch die Default-Vorwahl der Starface ersetzt und dann natürlich nicht die passende Leitung gefunden wird.

    Code
    Routing call " <00491708888888>" to number 0332912345678 over service UserService
    SIP/2525859e0-00000ddd Hangup Cause: Call Rejected


    Soweit, so schlecht. Ich habe nun versucht, das Problem über die manuelle Leitungskonfiuration zu Lösen. Einfach Hammer-Methode:

    Code
    exten => _X.,1,Goto(incoming,00493012345678,1)
    exten => _X.,2,Hangup


    Ist erstmal erfolgreich, heißt Anrufe kommen an. Dadurch fehlt aber die korrekte Leitungszuordnung. Da ich drei Rufnummern als einzelne Leitungen registriert habe, landen die ankommenden Rufe dann irgendwo. je nachdem, welche Leitung den Invite bekommt.


    Nächster Versuch: Nummer Rausfilter und nur das 0049 davor setzen:

    Code
    exten => _X.,1,Set(var_to=${SIP_HEADER(From)})
    exten => _X.,2,Set(firstcut=${CUT(var_to,0,2)})
    exten => _X.,3,Set(secondcut=${CUT(firstcut,",1)})
    exten => _X.,4,Set(ccadd=$[0049${secondcut}])
    exten => _X.,5,Goto(incoming,${ccadd},1)
    exten => _X.,6,Hangup


    Funktioniert nur leider nicht. Da kommt dann nur "0049" bei raus. Ich bekomm es einfach nicht hin, dass beim Goto eine zusammengesetzte Nummer rauskommt. Nehm ich das 0049 wieder weg, hab ich wieder meine falsche Nummer. Die Variable ccadd ist also nicht leer.


    Hab's auch schon so probiert:

    Code
    exten => _X.,4,Set(ccadd=0049${secondcut})


    Gleiches Ergebnis :(


    Endgültige Frage: Wie füg ich denn korrekterweise die 0049 vorne an???

    Viele Grüße,


    Andreas Stein
    IT Fabrik Systemhaus GmbH & Co. KG


    STARFACE Excellence PLUS Partner

    Einmal editiert, zuletzt von andreas.stein ()

  • Der Vollständigkeit halber hier die funktionierende Config:

    Code
    exten => _X.,1,Set(var_to=${SIP_HEADER(From)})
    exten => _X.,2,Set(firstcut=${CUT(var_to,"0",2)})
    exten => _X.,3,Set(secondcut=$[0049~~${CUT(firstcut,\',1)}])
    exten => _X.,4,Goto(incoming,${secondcut},1)
    exten => _X.,5,Hangup

    Viele Grüße,


    Andreas Stein
    IT Fabrik Systemhaus GmbH & Co. KG


    STARFACE Excellence PLUS Partner

  • Hi Andreas,


    wir haben aktuell ein ähnliches Problem.


    Wir haben ein Sipgate basic mit 10 Rufnummern (Block) in der Starface via Sipgate Basic konfiguriert.


    Seit dem Update auf v7 stehen wir vor dem Problem, dass die Zuweisung der Rufnummern auf die verschiedenen User nicht mehr funktioniert.


    Die Ursache scheint eine ähnliche zu sein.


    Sipgate übermittelt den Anruf wie folgt:


    From: "030123456" <sip:015123456@sipgate.de>;tag=as2f313c8a


    Wobei die 030123456 die angerufene Nummer und 015123456 die externe Nummer des Anrufers ist.


    Die Starface zeigt in den logs dann aber folgendes an und wirft durch die falsche klassifizierung immer am "default Platz" ab (der RingAllGroup) anstatt an der gewählten Durchwahl 6 am Ende (Benutzer direkt).

    Code
    [2022-11-11 21:56:32,222] [ 4643 ] ********* Call created ********** 
    [2022-11-11 21:56:32,222] [ 4643 ] Starting call routing : SIP/2561001e1-00000835 dial number 004930123450 CallerId [firstname=030123456, number=004915123456] 
    [2022-11-11 21:56:32,233] [ 4643 ] Routing call "CallerId [firstname=Max, lastname=Mustermann, company=Musterfirma, dialedNumber=348767850, number=004915123456]" to number 0049301234560 over service RingAllGroupService 

    Finde nur leider keine Dokumentation zur Syntax die für die manuelle Leitungskonfiguration zu wählen wäre.


    Vielleicht kann hier jemand helfen?

  • Ich konnte es jetzt mit der folgenden Konfiguration lösen:


    Code
    exten => _X.,1,Set(var_to=${SIP_HEADER(From)})
    exten => _X.,2,Set(firstcut=${CUT(var_to,"0",2)})
    exten => _X.,3,Set(secondcut=$[0049~~${CUT(firstcut,\",1)}])
    exten => _X.,4,GotoIf($[ ${secondcut} = 00493012345 ]?ja:nein)
    exten => _X.,5(ja),Goto(incoming,004930123450,1)
    exten => _X.,6(nein),Goto(incoming,${secondcut},1)


    Was ich noch nicht besonders schön finde ist die Überprüfung der "Zentrale" Durchwahl mit 0 am Ende.


    Das könnte man sicherlich in der Zeile 2 anders lösen? Hier fehlt mir aber die genaue Syntax, um nur die ersten Stellen der gewählten Rufnummer abzuschneiden anstatt alle 0en in der Rufnummer. (Könnte so auch ein Problem werden wenn die gewählte Rufnummer eine 0 enthält oder?)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!