no puede get freeswitch para networkingirigir las llamadas a kamailio

Antecedentes:

Estoy intentando seguir el tutorial encontrado aquí: http://kb.asipto.com/freeswitch:kamailio-3.3.x-freeswitch-1.2.x-sbc

La configuration básica es la siguiente:

  • Dos teléfonos Polycom (192.168.1.100 y 192.168.1.102)
  • Un server Kamailio (192.168.1.101) que maneja los loggings y la location del usuario
  • Un server Freeswitch (192.168.1.111) que se encarga de vmail, llamadas de conferencia, etc.

Problema:

La mala noticia es que cuando bash llamar al ext 888 desde 999 o viceversa, no funciona. Tengo una señal de ocupado, aunque ambos teléfonos están en línea. (para lo que vale la pena llamadas de conferencia de obras)

Código / Configuración:

Esta es la sección en el dialplan de contenedor pnetworkingeterminado / fuera de la caja que se agregó para admitir mi configuration "

<extension name="kbridge"> <condition field="destination_number" expression="^(.+)$"> <action application="set" data="proxy_media=true"/> <action application="set" data="call_timeout=50"/> <action application="set" data="continue_on_fail=true"/> <action application="set" data="hangup_after_bridge=true"/> <action application="set" data="sip_invite_domain=192.168.1.111"/> <action application="export" data="sip_contact_user=ufs"/> <action application="bridge" data="sofia/$${domain}/$1@192.168.1.101"/> <action application="answer"/> <action application="voicemail" data="default ${domain_name} $1"/> </condition> </extension> 

Esto es lo que mi acl.conf.xml parece en parte: (aviso he añadido la dirección IP de mi server Kam … no estoy seguro de si eso es lo que se suponía que debía hacer, o agregar la dirección de mi server freeswitch)

 <list name="domains" default="deny"> <!-- domain= is special it scans the domain from the directory to build the ACL --> <node type="allow" domain="$${domain}"/> <!-- use cidr= if you wish to allow ip ranges to this domains acl. --> <node type="allow" cidr="192.168.1.101"/> <node type="allow" cidr="192.168.1.111"/> </list> 

y aquí está el diaplan público (public.xml)

  <extension name="from_kamailio"> <condition field="network_addr" expression="^192\.168\.1\.101$" /> <condition field="destination_number" expression="^(.+)$"> <action application="transfer" data="$1 XML default"/> </condition> </extension> 

Qué he hecho hasta ahora / Información de debugging

Usando tcpdump en mi server kamailio, puerto 5060, puedo ver que las llamadas lo hacen a freeswitch. Pero freeswitch no envía la llamada de vuelta a través del proxy, y luego al teléfono. Devuelve el siguiente post sip:

 SIP/2.0 480 Temporarily Unavailable Via: SIP/2.0/UDP 192.168.1.101;branch=z9hG4bK15fa.79754276.0 Via: SIP/2.0/UDP 192.168.1.102;branch=z9hG4bKb403de76A8D7964 Max-Forwards: 14 From: "999" <sip:999@192.168.1.101>;tag=C73F8AE1-87260556 To: <sip:888@192.168.1.101;user=phone>;tag=KB5jNeBv3ZmaQ Call-ID: 9d6ef05d-961b3422-62f8efc3@192.168.1.102 CSeq: 1 INVITE User-Agent: FreeSWITCH-mod_sofia/1.5.12b+git~20140320T233219Z~dd242f3ba6~32bit Accept: application/sdp Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY Supported: timer, path, replaces Allow-Events: talk, hold, conference, refer Reason: Q.850;cause=16;text="NORMAL_CLEARING" Content-Length: 0 Remote-Party-ID: "888" <888>;party=calling;privacy=off;screen=no 

cuando echo un vistazo a los datos de debugging en el cliente freeswitch, esto es lo que veo re: esta llamada: (sólo los elementos key publicados)

 2014-03-26 17:02:31.825479 [NOTICE] switch_channel.c:1053 New Channel sofia/external/999@192.168.1.101 [f284cfd6-b529-11e3-aa7f-35418c26e85f] 2014-03-26 17:02:31.825479 [DEBUG] switch_channel.c:2177 (sofia/external/999@192.168.1.101) Callstate Change DOWN -> RINGING 2014-03-26 17:02:31.825479 [DEBUG] switch_core_state_machine.c:523 (sofia/external/999@192.168.1.101) State ROUTING 2014-03-26 17:02:31.825479 [DEBUG] mod_sofia.c:123 sofia/external/999@192.168.1.101 SOFIA ROUTING 2014-03-26 17:02:31.825479 [DEBUG] switch_core_state_machine.c:164 sofia/external/999@192.168.1.101 Standard ROUTING 2014-03-26 17:02:31.825479 [INFO] mod_dialplan_xml.c:558 Processing 999 <999>->888 in context public Dialplan: sofia/external/999@192.168.1.101 parsing [public->unloop] continue=false Dialplan: sofia/external/999@192.168.1.101 Regex (PASS) [unloop] ${unroll_loops}(true) =~ /^true$/ break=on-false Dialplan: sofia/external/999@192.168.1.101 Regex (PASS) [from_kamailio] network_addr(192.168.1.101) =~ /^192\.168\.1\.101$/ break=on-false Dialplan: sofia/external/999@192.168.1.101 Regex (PASS) [from_kamailio] destination_number(kb-888) =~ /^(.+)$/ break=on-false Dialplan: sofia/external/999@192.168.1.101 Action transfer(888 XML default) 2014-03-26 17:02:31.825479 [NOTICE] switch_ivr.c:1837 Transfer sofia/external/999@192.168.1.101 to XML[888@default] 2014-03-26 17:02:31.825479 [INFO] mod_dialplan_xml.c:558 Processing 999 <999>->888 in context default 2014-03-26 17:02:31.845470 [NOTICE] switch_ivr.c:1837 Transfer sofia/external/999@192.168.1.101 to enum[888@default] 2014-03-26 17:02:31.845470 [DEBUG] switch_core_state_machine.c:530 (sofia/external/999@192.168.1.101) State EXECUTE going to sleep 2014-03-26 17:02:31.845470 [DEBUG] switch_core_state_machine.c:467 (sofia/external/999@192.168.1.101) Running State Change CS_ROUTING 2014-03-26 17:02:31.845470 [DEBUG] switch_core_state_machine.c:523 (sofia/external/999@192.168.1.101) State ROUTING 2014-03-26 17:02:31.845470 [DEBUG] mod_sofia.c:123 sofia/external/999@192.168.1.101 SOFIA ROUTING 2014-03-26 17:02:31.845470 [DEBUG] switch_core_state_machine.c:164 sofia/external/999@192.168.1.101 Standard ROUTING 2014-03-26 17:02:31.845470 [DEBUG] mod_enum.c:642 ENUM Lookup on kb-888 2014-03-26 17:02:31.845470 [DEBUG] mod_enum.c:494 No Nameservers specified, using host default 2014-03-26 17:02:32.005525 [NOTICE] switch_core_state_machine.c:313 sofia/external/999@192.168.1.101 has executed the last dialplan instruction, hanging up. 2014-03-26 17:02:32.005525 [NOTICE] switch_core_state_machine.c:315 Hangup sofia/external/999@192.168.1.101 [CS_EXECUTE] [NORMAL_CLEARING] 

A continuación, muestra el post de error SIP temporalmente no disponible.

He intentado seguir el tutorial al T .. Pero no está funcionando. Cualquier sugerencia sera apreciada. Gracias.

EDITAR 1

No sé por qué esta solución funciona … pero he descubierto que cambiar el plan de marcación como así corrige el problema:

 <extension name="kbridge"> <condition field="destination_number" expression="^(.+)$"> <action application="set" data="proxy_media=true"/> <action application="set" data="call_timeout=50"/> <action application="set" data="continue_on_fail=true"/> <action application="set" data="hangup_after_bridge=true"/> <action application="set" data="sip_invite_domain=192.168.1.111"/> <action application="export" data="sip_contact_user=ufs"/> <!--<action application="bridge" data="sofia/$${domain}/$1@192.168.1.101"/>--> <action application="bridge" data="sofia/external/$1@192.168.1.101"/> <action application="answer"/> <action application="voicemail" data="default ${domain_name} $1"/> </condition> </extension> 

Tenga en count que he eliminado la variable $$ {domain} y lo he codificado en "externo". Ahora mis llamadas entre extensiones funcionan. No sé por qué este es el caso, pero actualmente estoy buscando para saber dónde se define la variable de dominio.