FXS ports not working on Sangoma A200
I have a Sangoma A200 with 1 FXO and 1 FXS module. Previously, I was using zaptel under the wanpipe-3.2.7 drivers. It worked fine in this configuration, but DTMF recognition was a bit flakey. I am trying to switch over to the native wanpipe/TDM interface with their 3.4.1 drivers and FreeSWITCH trunk (r13288 was my last update). The FXO ports are working fine. Hardware DTMF recognition works, which is great. The FXS ports are weird. When I pickup an analog phone, there is no dial tone on the FXS ports, just silence. The tones file is in place in /etc/openzap and /usr/local/freeswitch/conf (and I do see FreeSWITCH grabbing them during startup). I can originate a call to them, and they ring, but FreeSWITCH says there is no answer, and no audio comes across: 2009-05-15 16:26:28 [DEBUG] sofia.c:4331 sofia_handle_sip_i_invite() IP 192.168.98.143 Rejected by acl "domains". Falling back to Digest auth. 2009-05-15 16:26:28 [DEBUG] sofia.c:4331 sofia_handle_sip_i_invite() IP 192.168.98.143 Rejected by acl "domains". Falling back to Digest auth. 2009-05-15 16:26:28 [NOTICE] switch_channel.c:602 switch_channel_set_name() New Channel sofia/internal/1001@192.168.98.1 [234f57aa-9dbf-4ca8-aeca-a4b89c7cdb1e] 2009-05-15 16:26:28 [DEBUG] sofia.c:4958 sofia_handle_sip_i_invite() Setting NAT mode based on rfc1918 2009-05-15 16:26:28 [DEBUG] sofia.c:3001 sofia_handle_sip_i_state() Channel sofia/internal/1001@192.168.98.1 entering state [received][100] 2009-05-15 16:26:28 [DEBUG] sofia.c:3008 sofia_handle_sip_i_state() Remote SDP: v=0 o=- 1242404734 1242404734 IN IP4 192.168.98.143 s=Polycom IP Phone c=IN IP4 192.168.98.143 t=0 0 a=sendrecv m=audio 2254 RTP/AVP 9 0 8 18 101 a=rtpmap:9 G722/8000 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:18 G729/8000 a=fmtp:18 annexb=no a=rtpmap:101 telephone-event/8000 2009-05-15 16:26:28 [DEBUG] sofia_glue.c:2939 sofia_glue_negotiate_sdp() Audio Codec Compare [G722:9:8000:0]/[G722:9:8000:20] 2009-05-15 16:26:28 [DEBUG] sofia_glue.c:1912 sofia_glue_tech_set_codec() Set Codec sofia/internal/1001@192.168.98.1 G722/8000 20 ms 160 samples 2009-05-15 16:26:28 [DEBUG] sofia_glue.c:2899 sofia_glue_negotiate_sdp() Set 2833 dtmf payload to 101 2009-05-15 16:26:28 [DEBUG] switch_core_state_machine.c:397 switch_core_session_run() (sofia/internal/1001@192.168.98.1) Running State Change CS_NEW 2009-05-15 16:26:28 [DEBUG] sofia.c:3167 sofia_handle_sip_i_state() (sofia/internal/1001@192.168.98.1) State Change CS_NEW -> CS_INIT 2009-05-15 16:26:28 [DEBUG] switch_core_session.c:933 switch_core_session_signal_state_change() Send signal sofia/internal/1001@192.168.98.1 [BREAK] 2009-05-15 16:26:28 [DEBUG] switch_core_state_machine.c:403 switch_core_session_run() (sofia/internal/1001@192.168.98.1) State NEW 2009-05-15 16:26:28 [DEBUG] switch_core_state_machine.c:397 switch_core_session_run() (sofia/internal/1001@192.168.98.1) Running State Change CS_INIT 2009-05-15 16:26:28 [DEBUG] switch_core_state_machine.c:480 switch_core_session_run() (sofia/internal/1001@192.168.98.1) State INIT 2009-05-15 16:26:28 [DEBUG] mod_sofia.c:83 sofia_on_init() sofia/internal/1001@192.168.98.1 SOFIA INIT 2009-05-15 16:26:28 [DEBUG] mod_sofia.c:111 sofia_on_init() (sofia/internal/1001@192.168.98.1) State Change CS_INIT -> CS_ROUTING 2009-05-15 16:26:28 [DEBUG] switch_core_session.c:933 switch_core_session_signal_state_change() Send signal sofia/internal/1001@192.168.98.1 [BREAK] 2009-05-15 16:26:28 [DEBUG] switch_core_state_machine.c:480 switch_core_session_run() (sofia/internal/1001@192.168.98.1) State INIT going to sleep 2009-05-15 16:26:28 [DEBUG] switch_core_state_machine.c:397 switch_core_session_run() (sofia/internal/1001@192.168.98.1) Running State Change CS_ROUTING 2009-05-15 16:26:28 [DEBUG] switch_core_state_machine.c:483 switch_core_session_run() (sofia/internal/1001@192.168.98.1) State ROUTING 2009-05-15 16:26:28 [DEBUG] mod_sofia.c:130 sofia_on_routing() sofia/internal/1001@192.168.98.1 SOFIA ROUTING 2009-05-15 16:26:28 [DEBUG] switch_core_state_machine.c:78 switch_core_standard_on_routing() sofia/internal/1001@192.168.98.1 Standard ROUTING 2009-05-15 16:26:28 [INFO] mod_dialplan_xml.c:252 dialplan_hunt() Processing 1001->6001 in context default Dialplan: sofia/internal/1001@192.168.98.1 parsing [default->unloop] continue=false Dialplan: sofia/internal/1001@192.168.98.1 Regex (PASS) [unloop] ${unroll_loops}(true) =~ /^true$/ break=on-false Dialplan: sofia/internal/1001@192.168.98.1 Regex (FAIL) [unloop] ${sip_looped_call}() =~ /^true$/ break=on-false Dialplan: sofia/internal/1001@192.168.98.1 parsing [default->analog-phone] continue=false Dialplan: sofia/internal/1001@192.168.98.1 Regex (PASS) [analog-phone] destination_number(6001) =~ /^6001$/ break=on-false Dialplan: sofia/internal/1001@192.168.98.1 Action answer() Dialplan: sofia/internal/1001@192.168.98.1 Action set(call_timeout=30) Dialplan: sofia/internal/1001@192.168.98.1 Action bridge(OpenZAP/2/1/1) 2009-05-15 16:26:28 [DEBUG] switch_core_state_machine.c:114 switch_core_standard_on_routing() (sofia/internal/1001@192.168.98.1) State Change CS_ROUTING -> CS_EXECUTE 2009-05-15 16:26:28 [DEBUG] switch_core_session.c:933 switch_core_session_signal_state_change() Send signal sofia/internal/1001@192.168.98.1 [BREAK] 2009-05-15 16:26:28 [DEBUG] switch_core_state_machine.c:483 switch_core_session_run() (sofia/internal/1001@192.168.98.1) State ROUTING going to sleep 2009-05-15 16:26:28 [DEBUG] switch_core_state_machine.c:397 switch_core_session_run() (sofia/internal/1001@192.168.98.1) Running State Change CS_EXECUTE 2009-05-15 16:26:28 [DEBUG] switch_core_state_machine.c:490 switch_core_session_run() (sofia/internal/1001@192.168.98.1) State EXECUTE 2009-05-15 16:26:28 [DEBUG] mod_sofia.c:173 sofia_on_execute() sofia/internal/1001@192.168.98.1 SOFIA EXECUTE 2009-05-15 16:26:28 [DEBUG] switch_core_state_machine.c:151 switch_core_standard_on_execute() sofia/internal/1001@192.168.98.1 Standard EXECUTE EXECUTE sofia/internal/1001@192.168.98.1 answer() 2009-05-15 16:26:28 [DEBUG] mod_dptools.c:649 answer_function() sofia/internal/1001@192.168.98.1 receive message [ANSWER] 2009-05-15 16:26:28 [DEBUG] sofia_glue.c:2146 sofia_glue_activate_rtp() AUDIO RTP [sofia/internal/1001@192.168.98.1] 192.168.98.1 port 31952 -> 192.168.98.143 port 2254 codec: 9 ms: 20 2009-05-15 16:26:28 [DEBUG] switch_rtp.c:906 switch_rtp_create() Starting timer [soft] 160 bytes per 20ms 2009-05-15 16:26:28 [DEBUG] mod_sofia.c:534 sofia_answer_channel() Local SDP sofia/internal/1001@192.168.98.1: v=0 o=FreeSWITCH 1242372836 1242372837 IN IP4 192.168.98.1 s=FreeSWITCH c=IN IP4 192.168.98.1 t=0 0 m=audio 31952 RTP/AVP 9 101 a=rtpmap:9 G722/8000 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-16 a=silenceSupp:off - - - - a=ptime:20 a=sendrecv 2009-05-15 16:26:28 [DEBUG] switch_core_session.c:630 switch_core_session_perform_receive_message() Send signal sofia/internal/1001@192.168.98.1 [BREAK] 2009-05-15 16:26:28 [NOTICE] mod_dptools.c:649 answer_function() Channel [sofia/internal/1001@192.168.98.1] has been answered 2009-05-15 16:26:28 [DEBUG] switch_channel.c:182 switch_channel_audio_sync() sofia/internal/1001@192.168.98.1 receive message [AUDIO_SYNC] EXECUTE sofia/internal/1001@192.168.98.1 set(call_timeout=30) 2009-05-15 16:26:28 [DEBUG] mod_dptools.c:748 set_function() sofia/internal/1001@192.168.98.1 SET [call_timeout]=[30] 2009-05-15 16:26:28 [DEBUG] sofia.c:3001 sofia_handle_sip_i_state() Channel sofia/internal/1001@192.168.98.1 entering state [completed][200] EXECUTE sofia/internal/1001@192.168.98.1 bridge(OpenZAP/2/1/1) 2009-05-15 16:26:28 [DEBUG] mod_openzap.c:343 tech_init() Set codec PCMU 20ms 2009-05-15 16:26:28 [DEBUG] mod_openzap.c:1060 channel_outgoing_channel() Connect outbound channel OpenZAP/2:1/1 2009-05-15 16:26:28 [NOTICE] switch_channel.c:602 switch_channel_set_name() New Channel OpenZAP/2:1/1 [a2aa1a26-ec30-4d7c-9d8e-477521231fad] 2009-05-15 16:26:28 [DEBUG] mod_openzap.c:1072 channel_outgoing_channel() (OpenZAP/2:1/1) State Change CS_NEW -> CS_INIT 2009-05-15 16:26:28 [DEBUG] switch_core_session.c:933 switch_core_session_signal_state_change() Send signal OpenZAP/2:1/1 [BREAK] 2009-05-15 16:26:28 [DEBUG] ozmod_analog.c:66 analog_fxs_outgoing_call() Changing state on 2:1 from DOWN to GENRING 2009-05-15 16:26:28 [DEBUG] ozmod_analog.c:239 zap_analog_channel_run() ANALOG CHANNEL thread starting. 2009-05-15 16:26:28 [DEBUG] ozmod_analog.c:410 zap_analog_channel_run() Executing state handler on 2:1 for GENRING 2009-05-15 16:26:28 [DEBUG] mod_openzap.c:1262 on_fxs_signal() got FXS sig [PROGRESS] 2009-05-15 16:26:28 [NOTICE] mod_openzap.c:1278 on_fxs_signal() Ring-Ready OpenZAP/2:1/1! 2009-05-15 16:26:28 [DEBUG] switch_core_state_machine.c:397 switch_core_session_run() (OpenZAP/2:1/1) Running State Change CS_INIT 2009-05-15 16:26:28 [DEBUG] switch_core_state_machine.c:480 switch_core_session_run() (OpenZAP/2:1/1) State INIT 2009-05-15 16:26:28 [DEBUG] mod_openzap.c:367 channel_on_init() (OpenZAP/2:1/1) State Change CS_INIT -> CS_ROUTING 2009-05-15 16:26:28 [DEBUG] switch_core_session.c:933 switch_core_session_signal_state_change() Send signal OpenZAP/2:1/1 [BREAK] 2009-05-15 16:26:28 [DEBUG] switch_core_state_machine.c:480 switch_core_session_run() (OpenZAP/2:1/1) State INIT going to sleep 2009-05-15 16:26:28 [DEBUG] switch_core_state_machine.c:397 switch_core_session_run() (OpenZAP/2:1/1) Running State Change CS_ROUTING 2009-05-15 16:26:28 [DEBUG] switch_core_state_machine.c:483 switch_core_session_run() (OpenZAP/2:1/1) State ROUTING 2009-05-15 16:26:28 [DEBUG] mod_openzap.c:390 channel_on_routing() OpenZAP/2:1/1 CHANNEL ROUTING 2009-05-15 16:26:28 [DEBUG] switch_ivr_originate.c:63 originate_on_routing() (OpenZAP/2:1/1) State Change CS_ROUTING -> CS_CONSUME_MEDIA 2009-05-15 16:26:28 [DEBUG] switch_core_session.c:933 switch_core_session_signal_state_change() Send signal OpenZAP/2:1/1 [BREAK] 2009-05-15 16:26:28 [DEBUG] switch_core_state_machine.c:483 switch_core_session_run() (OpenZAP/2:1/1) State ROUTING going to sleep 2009-05-15 16:26:28 [DEBUG] switch_core_state_machine.c:397 switch_core_session_run() (OpenZAP/2:1/1) Running State Change CS_CONSUME_MEDIA 2009-05-15 16:26:28 [DEBUG] switch_core_state_machine.c:502 switch_core_session_run() (OpenZAP/2:1/1) State CONSUME_MEDIA 2009-05-15 16:26:28 [DEBUG] sofia.c:3001 sofia_handle_sip_i_state() Channel sofia/internal/1001@192.168.98.1 entering state [ready][200] 2009-05-15 16:26:58 [NOTICE] switch_ivr_originate.c:1957 switch_ivr_originate() Hangup OpenZAP/2:1/1 [CS_CONSUME_MEDIA] [NO_ANSWER] 2009-05-15 16:26:58 [DEBUG] switch_channel.c:1660 switch_channel_perform_hangup() Send signal OpenZAP/2:1/1 [KILL] 2009-05-15 16:26:58 [DEBUG] switch_core_session.c:933 switch_core_session_signal_state_change() Send signal OpenZAP/2:1/1 [BREAK] 2009-05-15 16:26:58 [DEBUG] switch_ivr_originate.c:2101 switch_ivr_originate() Originate Resulted in Error Cause: 19 [NO_ANSWER] 2009-05-15 16:26:58 [INFO] mod_dptools.c:2074 audio_bridge_function() Originate Failed. Cause: NO_ANSWER 2009-05-15 16:26:58 [NOTICE] switch_core_state_machine.c:179 switch_core_standard_on_execute() Hangup sofia/internal/1001@192.168.98.1 [CS_EXECUTE] [NORMAL_CLEARING] 2009-05-15 16:26:58 [DEBUG] switch_channel.c:1660 switch_channel_perform_hangup() Send signal sofia/internal/1001@192.168.98.1 [KILL] 2009-05-15 16:26:58 [DEBUG] switch_core_session.c:933 switch_core_session_signal_state_change() Send signal sofia/internal/1001@192.168.98.1 [BREAK] 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:490 switch_core_session_run() (sofia/internal/1001@192.168.98.1) State EXECUTE going to sleep 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:397 switch_core_session_run() (sofia/internal/1001@192.168.98.1) Running State Change CS_HANGUP 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:433 switch_core_session_run() (sofia/internal/1001@192.168.98.1) State HANGUP 2009-05-15 16:26:58 [DEBUG] mod_sofia.c:323 sofia_on_hangup() Channel sofia/internal/1001@192.168.98.1 hanging up, cause: NORMAL_CLEARING 2009-05-15 16:26:58 [DEBUG] mod_sofia.c:378 sofia_on_hangup() Sending BYE to sofia/internal/1001@192.168.98.1 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:46 switch_core_standard_on_hangup() sofia/internal/1001@192.168.98.1 Standard HANGUP, cause: NORMAL_CLEARING 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:433 switch_core_session_run() (sofia/internal/1001@192.168.98.1) State HANGUP going to sleep 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:475 switch_core_session_run() (sofia/internal/1001@192.168.98.1) State Change CS_HANGUP -> CS_REPORTING 2009-05-15 16:26:58 [DEBUG] switch_core_session.c:933 switch_core_session_signal_state_change() Send signal sofia/internal/1001@192.168.98.1 [BREAK] 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:397 switch_core_session_run() (sofia/internal/1001@192.168.98.1) Running State Change CS_REPORTING 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:607 switch_core_session_reporting_state() (sofia/internal/1001@192.168.98.1) State REPORTING 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:53 switch_core_standard_on_reporting() sofia/internal/1001@192.168.98.1 Standard REPORTING, cause: NORMAL_CLEARING 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:607 switch_core_session_reporting_state() (sofia/internal/1001@192.168.98.1) State REPORTING going to sleep 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:410 switch_core_session_run() (sofia/internal/1001@192.168.98.1) State Change CS_REPORTING -> CS_DESTROY 2009-05-15 16:26:58 [DEBUG] switch_core_session.c:1067 switch_core_session_thread() Session 1 (sofia/internal/1001@192.168.98.1) Locked, Waiting on external entities 2009-05-15 16:26:58 [NOTICE] switch_core_session.c:1085 switch_core_session_thread() Session 1 (sofia/internal/1001@192.168.98.1) Ended 2009-05-15 16:26:58 [NOTICE] switch_core_session.c:1087 switch_core_session_thread() Close Channel sofia/internal/1001@192.168.98.1 [CS_DESTROY] 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:559 switch_core_session_destroy_state() (sofia/internal/1001@192.168.98.1) State DESTROY 2009-05-15 16:26:58 [DEBUG] mod_sofia.c:240 sofia_on_destroy() sofia/internal/1001@192.168.98.1 SOFIA DESTROY 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:60 switch_core_standard_on_destroy() sofia/internal/1001@192.168.98.1 Standard DESTROY 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:559 switch_core_session_destroy_state() (sofia/internal/1001@192.168.98.1) State DESTROY going to sleep 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:502 switch_core_session_run() (OpenZAP/2:1/1) State CONSUME_MEDIA going to sleep 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:397 switch_core_session_run() (OpenZAP/2:1/1) Running State Change CS_HANGUP 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:433 switch_core_session_run() (OpenZAP/2:1/1) State HANGUP 2009-05-15 16:26:58 [DEBUG] mod_openzap.c:460 channel_on_hangup() Changing state on 2:1 from GENRING to HANGUP 2009-05-15 16:26:58 [DEBUG] mod_openzap.c:485 channel_on_hangup() OpenZAP/2:1/1 CHANNEL HANGUP 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:46 switch_core_standard_on_hangup() OpenZAP/2:1/1 Standard HANGUP, cause: NO_ANSWER 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:433 switch_core_session_run() (OpenZAP/2:1/1) State HANGUP going to sleep 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:475 switch_core_session_run() (OpenZAP/2:1/1) State Change CS_HANGUP -> CS_REPORTING 2009-05-15 16:26:58 [DEBUG] switch_core_session.c:933 switch_core_session_signal_state_change() Send signal OpenZAP/2:1/1 [BREAK] 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:397 switch_core_session_run() (OpenZAP/2:1/1) Running State Change CS_REPORTING 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:607 switch_core_session_reporting_state() (OpenZAP/2:1/1) State REPORTING 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:53 switch_core_standard_on_reporting() OpenZAP/2:1/1 Standard REPORTING, cause: NO_ANSWER 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:607 switch_core_session_reporting_state() (OpenZAP/2:1/1) State REPORTING going to sleep 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:410 switch_core_session_run() (OpenZAP/2:1/1) State Change CS_REPORTING -> CS_DESTROY 2009-05-15 16:26:58 [DEBUG] switch_core_session.c:1067 switch_core_session_thread() Session 2 (OpenZAP/2:1/1) Locked, Waiting on external entities 2009-05-15 16:26:58 [NOTICE] switch_core_session.c:1085 switch_core_session_thread() Session 2 (OpenZAP/2:1/1) Ended 2009-05-15 16:26:58 [NOTICE] switch_core_session.c:1087 switch_core_session_thread() Close Channel OpenZAP/2:1/1 [CS_DESTROY] 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:559 switch_core_session_destroy_state() (OpenZAP/2:1/1) State DESTROY 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:60 switch_core_standard_on_destroy() OpenZAP/2:1/1 Standard DESTROY 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:559 switch_core_session_destroy_state() (OpenZAP/2:1/1) State DESTROY going to sleep 2009-05-15 16:26:58 [DEBUG] ozmod_analog.c:410 zap_analog_channel_run() Executing state handler on 2:1 for HANGUP 2009-05-15 16:26:58 [DEBUG] ozmod_analog.c:351 zap_analog_channel_run() Changing state on 2:1 from HANGUP to DOWN 2009-05-15 16:26:58 [DEBUG] ozmod_analog.c:410 zap_analog_channel_run() Executing state handler on 2:1 for DOWN 2009-05-15 16:26:58 [DEBUG] mod_openzap.c:1262 on_fxs_signal() got FXS sig [STOP] 2009-05-15 16:26:58 [DEBUG] zap_io.c:1179 zap_channel_done() channel done 2:1 2009-05-15 16:26:58 [DEBUG] ozmod_analog.c:726 zap_analog_channel_run() ANALOG CHANNEL 2:1 thread ended. When I pick up the phone attached to the FXS port, there is what sounds like a burst of data (caller ID?) and a series of about 10 clicks which end when FreeSWITCH closes the channel. Is there something obvious I'm missing or should try? Or should I take this up with Sangoma? Any suggestions would be greatly appreciated. I have tried all sorts of slight modifications to the relevant configuration files, with no change in the FXS port behavior, but they currently look like: gentoo conf # cat openzap.conf [span wanpipe] name => OpenZAP number => 5000 fxo-channel => 1:1 number => 5000 fxo-channel => 1:2 [span wanpipe] name => OpenZAP number => 4165551111 fxs-channel => 1:3 number => 4165552222 fxs-channel => 1:4 gentoo conf # cat autoload_configs/openzap.conf.xml <configuration name="openzap.conf" description="OpenZAP Configuration"> <settings> <param name="debug" value="9"/> </settings> <analog_spans> <span id="1"> <param name="tonegroup" value="us"/> <param name="digit-timeout" value="2000"/> <param name="max-digits" value="11"/> <param name="dialplan" value="XML"/> <param name="context" value="default"/> <param name="enable-analog-option" value="3-way"/> <param name="moh" value="$${base_dir}/sounds/Dardedisco.wav"/> </span> <span id="2"> <param name="tonegroup" value="us"/> <param name="digit-timeout" value="2000"/> <param name="max-digits" value="11"/> <param name="dialplan" value="XML"/> <param name="context" value="default"/> </span> </analog_spans> </configuration> gentoo conf # wanrouter hwprobe ------------------------------- | Wanpipe Hardware Probe Info | ------------------------------- 1 . AFT-A200-SH : SLOT=9 : BUS=1 : IRQ=16 : CPU=A : PORT=PRI : HWEC=32 : V=11 Card Cnt: A200=1 gentoo conf # cat /etc/wanpipe/wanpipe1.conf #================================================ # WANPIPE1 Configuration File #================================================ # # Date: Mon Jul 31 17:10:23 EDT 2006 # # Note: This file was generated automatically # by /usr/local/sbin/setup-sangoma program. # # If you want to edit this file, it is # recommended that you use wancfg program # to do so. #================================================ # Sangoma Technologies Inc. #================================================ [devices] wanpipe1 = WAN_AFT_ANALOG, Comment [interfaces] w1g1 = wanpipe1, , TDM_VOICE_API, Comment [wanpipe1] CARD_TYPE = AFT S514CPU = A CommPort = PRI AUTO_PCISLOT = NO PCISLOT = 9 PCIBUS = 1 FE_MEDIA = FXO/FXS TDMV_LAW = MULAW TDMV_OPERMODE = FCC RM_BATTTHRESH = 3 RM_BATTDEBOUNCE = 16 FE_NETWORK_SYNC = NO MTU = 1500 UDPPORT = 9000 TTL = 255 IGNORE_FRONT_END = NO TDMV_SPAN = 1 TDMV_HW_DTMF = YES TDMV_HW_FAX_DETECT = YES [w1g1] ACTIVE_CH = ALL MTU = 8 TDMV_HWEC = YES freeswitch@gentoo> oz list API CALL [oz(list)] output: +OK span: 1 (span1) type: analog chan_count: 2 dialplan: XML context: default dial_regex: fail_dial_regex: hold_music: analog_options 3way +OK span: 2 (span2) type: analog chan_count: 2 dialplan: XML context: default dial_regex: fail_dial_regex: hold_music: analog_options none And here's what it looks like when FreeSWITCH starts: 2009-05-15 16:17:19 [DEBUG] zap_config.c:56 zap_config_open_file() Configuration file is /usr/local/freeswitch/conf/modules.conf. 2009-05-15 16:17:19 [NOTICE] zap_io.c:2609 zap_global_init() Modules configured: 1 2009-05-15 16:17:19 [DEBUG] zap_config.c:56 zap_config_open_file() Configuration file is /usr/local/freeswitch/conf/openzap.conf. 2009-05-15 16:17:19 [DEBUG] zap_io.c:2213 load_config() found config for span 2009-05-15 16:17:19 [INFO] zap_io.c:2430 zap_load_module() Loading IO from /usr/local/freeswitch/mod/ozmod_wanpipe.so [wanpipe] 2009-05-15 16:17:19 [DEBUG] zap_config.c:56 zap_config_open_file() Configuration file is /usr/local/freeswitch/conf/wanpipe.conf. 2009-05-15 16:17:19 [INFO] zap_io.c:2230 load_config() auto-loaded 'wanpipe' 2009-05-15 16:17:19 [DEBUG] zap_io.c:2251 load_config() created span 1 (span1) of type wanpipe 2009-05-15 16:17:19 [DEBUG] zap_io.c:2264 load_config() span 1 [name]=[OpenZAP] 2009-05-15 16:17:19 [DEBUG] zap_io.c:2264 load_config() span 1 [number]=[5000] 2009-05-15 16:17:19 [DEBUG] zap_io.c:2264 load_config() span 1 [fxo-channel]=[1:1] 2009-05-15 16:17:19 [DEBUG] zap_io.c:2293 load_config() setting trunk type to 'FXO' start(KEWL) 2009-05-15 16:17:19 [INFO] ozmod_wanpipe.c:207 wp_open_range() configuring device s1c1 as OpenZAP device 1:1 fd:37 DTMF: hardware 2009-05-15 16:17:19 [DEBUG] zap_io.c:2264 load_config() span 1 [number]=[5000] 2009-05-15 16:17:19 [DEBUG] zap_io.c:2264 load_config() span 1 [fxo-channel]=[1:2] 2009-05-15 16:17:19 [INFO] ozmod_wanpipe.c:207 wp_open_range() configuring device s1c2 as OpenZAP device 1:2 fd:38 DTMF: hardware 2009-05-15 16:17:19 [DEBUG] zap_io.c:2213 load_config() found config for span 2009-05-15 16:17:19 [DEBUG] zap_io.c:2251 load_config() created span 2 (span2) of type wanpipe 2009-05-15 16:17:19 [DEBUG] zap_io.c:2264 load_config() span 2 [name]=[OpenZAP] 2009-05-15 16:17:19 [DEBUG] zap_io.c:2264 load_config() span 2 [number]=[4165551111] 2009-05-15 16:17:19 [DEBUG] zap_io.c:2264 load_config() span 2 [fxs-channel]=[1:3] 2009-05-15 16:17:19 [DEBUG] zap_io.c:2304 load_config() setting trunk type to 'FXS' start(KEWL) 2009-05-15 16:17:19 [INFO] ozmod_wanpipe.c:207 wp_open_range() configuring device s1c3 as OpenZAP device 2:1 fd:39 DTMF: hardware 2009-05-15 16:17:19 [DEBUG] zap_io.c:2264 load_config() span 2 [number]=[4165552222] 2009-05-15 16:17:19 [DEBUG] zap_io.c:2264 load_config() span 2 [fxs-channel]=[1:4] 2009-05-15 16:17:19 [INFO] ozmod_wanpipe.c:207 wp_open_range() configuring device s1c4 as OpenZAP device 2:2 fd:40 DTMF: hardware 2009-05-15 16:17:19 [INFO] zap_io.c:2353 load_config() Configured 4 channel(s) 2009-05-15 16:17:19 [INFO] zap_io.c:2447 zap_load_module() Loading SIG from /usr/local/freeswitch/mod/ozmod_analog.so 2009-05-15 16:17:19 [INFO] zap_io.c:2563 zap_configure_span() auto-loaded 'analog' 2009-05-15 16:17:19 [DEBUG] zap_config.c:56 zap_config_open_file() Configuration file is /usr/local/freeswitch/conf/tones.conf. 2009-05-15 16:17:19 [DEBUG] zap_io.c:474 zap_span_load_tones() added tone generation [dial] = [v=-7;%(1000,0,350,440)] 2009-05-15 16:17:19 [DEBUG] zap_io.c:472 zap_span_load_tones() added tone detect [dial] = [350,440] 2009-05-15 16:17:19 [DEBUG] zap_io.c:474 zap_span_load_tones() added tone generation [ring] = [v=-7;%(2000,4000,440,480)] 2009-05-15 16:17:19 [DEBUG] zap_io.c:472 zap_span_load_tones() added tone detect [ring] = [440,480] 2009-05-15 16:17:19 [DEBUG] zap_io.c:474 zap_span_load_tones() added tone generation [busy] = [v=-7;%(500,500,480,620)] 2009-05-15 16:17:19 [DEBUG] zap_io.c:472 zap_span_load_tones() added tone detect [busy] = [480,620] 2009-05-15 16:17:19 [DEBUG] zap_io.c:474 zap_span_load_tones() added tone generation [attn] = [v=0;%(100,100,1400,2060,2450,2600)] 2009-05-15 16:17:19 [DEBUG] zap_io.c:472 zap_span_load_tones() added tone detect [attn] = [1400,2060,2450,2600] 2009-05-15 16:17:19 [DEBUG] zap_io.c:474 zap_span_load_tones() added tone generation [callwaiting-sas] = [v=0;%(300,0,440)] 2009-05-15 16:17:19 [DEBUG] zap_io.c:472 zap_span_load_tones() added tone detect [callwaiting-sas] = [440] 2009-05-15 16:17:19 [DEBUG] zap_io.c:474 zap_span_load_tones() added tone generation [callwaiting-cas] = [v=0;%(80,0,2750,2130)] 2009-05-15 16:17:19 [DEBUG] zap_io.c:472 zap_span_load_tones() added tone detect [callwaiting-cas] = [2750,2130] 2009-05-15 16:17:19 [DEBUG] zap_io.c:472 zap_span_load_tones() added tone detect [fail1] = [913.8] 2009-05-15 16:17:19 [DEBUG] zap_io.c:472 zap_span_load_tones() added tone detect [fail2] = [1370.6] 2009-05-15 16:17:19 [DEBUG] zap_io.c:472 zap_span_load_tones() added tone detect [fail3] = [776.7] 2009-05-15 16:17:19 [DEBUG] ozmod_analog.c:875 zap_analog_run() ANALOG thread starting. 2009-05-15 16:17:19 [DEBUG] zap_config.c:56 zap_config_open_file() Configuration file is /usr/local/freeswitch/conf/tones.conf. 2009-05-15 16:17:19 [DEBUG] zap_io.c:474 zap_span_load_tones() added tone generation [dial] = [v=-7;%(1000,0,350,440)] 2009-05-15 16:17:19 [DEBUG] zap_io.c:472 zap_span_load_tones() added tone detect [dial] = [350,440] 2009-05-15 16:17:19 [DEBUG] zap_io.c:474 zap_span_load_tones() added tone generation [ring] = [v=-7;%(2000,4000,440,480)] 2009-05-15 16:17:19 [DEBUG] zap_io.c:472 zap_span_load_tones() added tone detect [ring] = [440,480] 2009-05-15 16:17:19 [DEBUG] zap_io.c:474 zap_span_load_tones() added tone generation [busy] = [v=-7;%(500,500,480,620)] 2009-05-15 16:17:19 [DEBUG] zap_io.c:472 zap_span_load_tones() added tone detect [busy] = [480,620] 2009-05-15 16:17:19 [DEBUG] zap_io.c:474 zap_span_load_tones() added tone generation [attn] = [v=0;%(100,100,1400,2060,2450,2600)] 2009-05-15 16:17:19 [DEBUG] zap_io.c:472 zap_span_load_tones() added tone detect [attn] = [1400,2060,2450,2600] 2009-05-15 16:17:19 [DEBUG] zap_io.c:474 zap_span_load_tones() added tone generation [callwaiting-sas] = [v=0;%(300,0,440)] 2009-05-15 16:17:19 [DEBUG] zap_io.c:472 zap_span_load_tones() added tone detect [callwaiting-sas] = [440] 2009-05-15 16:17:19 [DEBUG] zap_io.c:474 zap_span_load_tones() added tone generation [callwaiting-cas] = [v=0;%(80,0,2750,2130)] 2009-05-15 16:17:19 [DEBUG] zap_io.c:472 zap_span_load_tones() added tone detect [callwaiting-cas] = [2750,2130] 2009-05-15 16:17:19 [DEBUG] zap_io.c:472 zap_span_load_tones() added tone detect [fail1] = [913.8] 2009-05-15 16:17:19 [DEBUG] zap_io.c:472 zap_span_load_tones() added tone detect [fail2] = [1370.6] 2009-05-15 16:17:19 [DEBUG] zap_io.c:472 zap_span_load_tones() added tone detect [fail3] = [776.7] 2009-05-15 16:17:19 [DEBUG] ozmod_analog.c:875 zap_analog_run() ANALOG thread starting. 2009-05-15 16:17:19 [CONSOLE] switch_loadable_module.c:889 switch_loadable_module_load_file() Successfully Loaded [mod_openzap] 2009-05-15 16:17:19 [NOTICE] switch_loadable_module.c:142 switch_loadable_module_process() Adding Endpoint 'openzap' 2009-05-15 16:17:19 [NOTICE] switch_loadable_module.c:248 switch_loadable_module_process() Adding Application 'disable_ec' 2009-05-15 16:17:19 [NOTICE] switch_loadable_module.c:270 switch_loadable_module_process() Adding API Function 'oz'
try the 3.5.2 drivers. Mike On May 15, 2009, at 12:33 PM, Brian Wood wrote:
I have a Sangoma A200 with 1 FXO and 1 FXS module. Previously, I was using zaptel under the wanpipe-3.2.7 drivers. It worked fine in this configuration, but DTMF recognition was a bit flakey.
I am trying to switch over to the native wanpipe/TDM interface with their 3.4.1 drivers and FreeSWITCH trunk (r13288 was my last update).
The FXO ports are working fine. Hardware DTMF recognition works, which is great.
The FXS ports are weird.
When I pickup an analog phone, there is no dial tone on the FXS ports, just silence. The tones file is in place in /etc/openzap and /usr/local/freeswitch/conf (and I do see FreeSWITCH grabbing them during startup).
I can originate a call to them, and they ring, but FreeSWITCH says there is no answer, and no audio comes across:
2009-05-15 16:26:28 [DEBUG] sofia.c:4331 sofia_handle_sip_i_invite() IP 192.168.98.143 Rejected by acl "domains". Falling back to Digest auth. 2009-05-15 16:26:28 [DEBUG] sofia.c:4331 sofia_handle_sip_i_invite() IP 192.168.98.143 Rejected by acl "domains". Falling back to Digest auth. 2009-05-15 16:26:28 [NOTICE] switch_channel.c:602 switch_channel_set_name() New Channel sofia/internal/1001@192.168.98.1 [234f57aa-9dbf-4ca8-aeca-a4b89c7cdb1e] 2009-05-15 16:26:28 [DEBUG] sofia.c:4958 sofia_handle_sip_i_invite() Setting NAT mode based on rfc1918 2009-05-15 16:26:28 [DEBUG] sofia.c:3001 sofia_handle_sip_i_state() Channel sofia/internal/1001@192.168.98.1 entering state [received] [100] 2009-05-15 16:26:28 [DEBUG] sofia.c:3008 sofia_handle_sip_i_state() Remote SDP: v=0 o=- 1242404734 1242404734 IN IP4 192.168.98.143 s=Polycom IP Phone c=IN IP4 192.168.98.143 t=0 0 a=sendrecv m=audio 2254 RTP/AVP 9 0 8 18 101 a=rtpmap:9 G722/8000 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:18 G729/8000 a=fmtp:18 annexb=no a=rtpmap:101 telephone-event/8000
2009-05-15 16:26:28 [DEBUG] sofia_glue.c:2939 sofia_glue_negotiate_sdp() Audio Codec Compare [G722:9:8000:0]/[G722:9:8000:20] 2009-05-15 16:26:28 [DEBUG] sofia_glue.c:1912 sofia_glue_tech_set_codec() Set Codec sofia/internal/1001@192.168.98.1 G722/8000 20 ms 160 samples 2009-05-15 16:26:28 [DEBUG] sofia_glue.c:2899 sofia_glue_negotiate_sdp() Set 2833 dtmf payload to 101 2009-05-15 16:26:28 [DEBUG] switch_core_state_machine.c:397 switch_core_session_run() (sofia/internal/1001@192.168.98.1) Running State Change CS_NEW 2009-05-15 16:26:28 [DEBUG] sofia.c:3167 sofia_handle_sip_i_state() (sofia/internal/1001@192.168.98.1) State Change CS_NEW -> CS_INIT 2009-05-15 16:26:28 [DEBUG] switch_core_session.c:933 switch_core_session_signal_state_change() Send signal sofia/internal/1001@192.168.98.1 [BREAK] 2009-05-15 16:26:28 [DEBUG] switch_core_state_machine.c:403 switch_core_session_run() (sofia/internal/1001@192.168.98.1) State NEW 2009-05-15 16:26:28 [DEBUG] switch_core_state_machine.c:397 switch_core_session_run() (sofia/internal/1001@192.168.98.1) Running State Change CS_INIT 2009-05-15 16:26:28 [DEBUG] switch_core_state_machine.c:480 switch_core_session_run() (sofia/internal/1001@192.168.98.1) State INIT 2009-05-15 16:26:28 [DEBUG] mod_sofia.c:83 sofia_on_init() sofia/internal/1001@192.168.98.1 SOFIA INIT 2009-05-15 16:26:28 [DEBUG] mod_sofia.c:111 sofia_on_init() (sofia/internal/1001@192.168.98.1) State Change CS_INIT -> CS_ROUTING 2009-05-15 16:26:28 [DEBUG] switch_core_session.c:933 switch_core_session_signal_state_change() Send signal sofia/internal/1001@192.168.98.1 [BREAK] 2009-05-15 16:26:28 [DEBUG] switch_core_state_machine.c:480 switch_core_session_run() (sofia/internal/1001@192.168.98.1) State INIT going to sleep 2009-05-15 16:26:28 [DEBUG] switch_core_state_machine.c:397 switch_core_session_run() (sofia/internal/1001@192.168.98.1) Running State Change CS_ROUTING 2009-05-15 16:26:28 [DEBUG] switch_core_state_machine.c:483 switch_core_session_run() (sofia/internal/1001@192.168.98.1) State ROUTING 2009-05-15 16:26:28 [DEBUG] mod_sofia.c:130 sofia_on_routing() sofia/internal/1001@192.168.98.1 SOFIA ROUTING 2009-05-15 16:26:28 [DEBUG] switch_core_state_machine.c:78 switch_core_standard_on_routing() sofia/internal/1001@192.168.98.1 Standard ROUTING 2009-05-15 16:26:28 [INFO] mod_dialplan_xml.c:252 dialplan_hunt() Processing 1001->6001 in context default Dialplan: sofia/internal/1001@192.168.98.1 parsing [default->unloop] continue=false Dialplan: sofia/internal/1001@192.168.98.1 Regex (PASS) [unloop] ${unroll_loops}(true) =~ /^true$/ break=on-false Dialplan: sofia/internal/1001@192.168.98.1 Regex (FAIL) [unloop] ${sip_looped_call}() =~ /^true$/ break=on-false Dialplan: sofia/internal/1001@192.168.98.1 parsing [default->analog-phone] continue=false Dialplan: sofia/internal/1001@192.168.98.1 Regex (PASS) [analog-phone] destination_number(6001) =~ /^6001$/ break=on-false Dialplan: sofia/internal/1001@192.168.98.1 Action answer() Dialplan: sofia/internal/1001@192.168.98.1 Action set(call_timeout=30) Dialplan: sofia/internal/1001@192.168.98.1 Action bridge(OpenZAP/ 2/1/1) 2009-05-15 16:26:28 [DEBUG] switch_core_state_machine.c:114 switch_core_standard_on_routing() (sofia/internal/1001@192.168.98.1) State Change CS_ROUTING -> CS_EXECUTE 2009-05-15 16:26:28 [DEBUG] switch_core_session.c:933 switch_core_session_signal_state_change() Send signal sofia/internal/1001@192.168.98.1 [BREAK] 2009-05-15 16:26:28 [DEBUG] switch_core_state_machine.c:483 switch_core_session_run() (sofia/internal/1001@192.168.98.1) State ROUTING going to sleep 2009-05-15 16:26:28 [DEBUG] switch_core_state_machine.c:397 switch_core_session_run() (sofia/internal/1001@192.168.98.1) Running State Change CS_EXECUTE 2009-05-15 16:26:28 [DEBUG] switch_core_state_machine.c:490 switch_core_session_run() (sofia/internal/1001@192.168.98.1) State EXECUTE 2009-05-15 16:26:28 [DEBUG] mod_sofia.c:173 sofia_on_execute() sofia/internal/1001@192.168.98.1 SOFIA EXECUTE 2009-05-15 16:26:28 [DEBUG] switch_core_state_machine.c:151 switch_core_standard_on_execute() sofia/internal/1001@192.168.98.1 Standard EXECUTE EXECUTE sofia/internal/1001@192.168.98.1 answer() 2009-05-15 16:26:28 [DEBUG] mod_dptools.c:649 answer_function() sofia/internal/1001@192.168.98.1 receive message [ANSWER] 2009-05-15 16:26:28 [DEBUG] sofia_glue.c:2146 sofia_glue_activate_rtp() AUDIO RTP [sofia/internal/1001@192.168.98.1] 192.168.98.1 port 31952 -> 192.168.98.143 port 2254 codec: 9 ms: 20 2009-05-15 16:26:28 [DEBUG] switch_rtp.c:906 switch_rtp_create() Starting timer [soft] 160 bytes per 20ms 2009-05-15 16:26:28 [DEBUG] mod_sofia.c:534 sofia_answer_channel() Local SDP sofia/internal/1001@192.168.98.1: v=0 o=FreeSWITCH 1242372836 1242372837 IN IP4 192.168.98.1 s=FreeSWITCH c=IN IP4 192.168.98.1 t=0 0 m=audio 31952 RTP/AVP 9 101 a=rtpmap:9 G722/8000 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-16 a=silenceSupp:off - - - - a=ptime:20 a=sendrecv
2009-05-15 16:26:28 [DEBUG] switch_core_session.c:630 switch_core_session_perform_receive_message() Send signal sofia/internal/1001@192.168.98.1 [BREAK] 2009-05-15 16:26:28 [NOTICE] mod_dptools.c:649 answer_function() Channel [sofia/internal/1001@192.168.98.1] has been answered 2009-05-15 16:26:28 [DEBUG] switch_channel.c:182 switch_channel_audio_sync() sofia/internal/1001@192.168.98.1 receive message [AUDIO_SYNC] EXECUTE sofia/internal/1001@192.168.98.1 set(call_timeout=30) 2009-05-15 16:26:28 [DEBUG] mod_dptools.c:748 set_function() sofia/internal/1001@192.168.98.1 SET [call_timeout]=[30] 2009-05-15 16:26:28 [DEBUG] sofia.c:3001 sofia_handle_sip_i_state() Channel sofia/internal/1001@192.168.98.1 entering state [completed] [200] EXECUTE sofia/internal/1001@192.168.98.1 bridge(OpenZAP/2/1/1) 2009-05-15 16:26:28 [DEBUG] mod_openzap.c:343 tech_init() Set codec PCMU 20ms 2009-05-15 16:26:28 [DEBUG] mod_openzap.c:1060 channel_outgoing_channel() Connect outbound channel OpenZAP/2:1/1 2009-05-15 16:26:28 [NOTICE] switch_channel.c:602 switch_channel_set_name() New Channel OpenZAP/2:1/1 [a2aa1a26-ec30-4d7c-9d8e-477521231fad] 2009-05-15 16:26:28 [DEBUG] mod_openzap.c:1072 channel_outgoing_channel() (OpenZAP/2:1/1) State Change CS_NEW -> CS_INIT 2009-05-15 16:26:28 [DEBUG] switch_core_session.c:933 switch_core_session_signal_state_change() Send signal OpenZAP/2:1/1 [BREAK] 2009-05-15 16:26:28 [DEBUG] ozmod_analog.c:66 analog_fxs_outgoing_call() Changing state on 2:1 from DOWN to GENRING 2009-05-15 16:26:28 [DEBUG] ozmod_analog.c:239 zap_analog_channel_run() ANALOG CHANNEL thread starting. 2009-05-15 16:26:28 [DEBUG] ozmod_analog.c:410 zap_analog_channel_run() Executing state handler on 2:1 for GENRING 2009-05-15 16:26:28 [DEBUG] mod_openzap.c:1262 on_fxs_signal() got FXS sig [PROGRESS] 2009-05-15 16:26:28 [NOTICE] mod_openzap.c:1278 on_fxs_signal() Ring-Ready OpenZAP/2:1/1! 2009-05-15 16:26:28 [DEBUG] switch_core_state_machine.c:397 switch_core_session_run() (OpenZAP/2:1/1) Running State Change CS_INIT 2009-05-15 16:26:28 [DEBUG] switch_core_state_machine.c:480 switch_core_session_run() (OpenZAP/2:1/1) State INIT 2009-05-15 16:26:28 [DEBUG] mod_openzap.c:367 channel_on_init() (OpenZAP/2:1/1) State Change CS_INIT -> CS_ROUTING 2009-05-15 16:26:28 [DEBUG] switch_core_session.c:933 switch_core_session_signal_state_change() Send signal OpenZAP/2:1/1 [BREAK] 2009-05-15 16:26:28 [DEBUG] switch_core_state_machine.c:480 switch_core_session_run() (OpenZAP/2:1/1) State INIT going to sleep 2009-05-15 16:26:28 [DEBUG] switch_core_state_machine.c:397 switch_core_session_run() (OpenZAP/2:1/1) Running State Change CS_ROUTING 2009-05-15 16:26:28 [DEBUG] switch_core_state_machine.c:483 switch_core_session_run() (OpenZAP/2:1/1) State ROUTING 2009-05-15 16:26:28 [DEBUG] mod_openzap.c:390 channel_on_routing() OpenZAP/2:1/1 CHANNEL ROUTING 2009-05-15 16:26:28 [DEBUG] switch_ivr_originate.c:63 originate_on_routing() (OpenZAP/2:1/1) State Change CS_ROUTING -> CS_CONSUME_MEDIA 2009-05-15 16:26:28 [DEBUG] switch_core_session.c:933 switch_core_session_signal_state_change() Send signal OpenZAP/2:1/1 [BREAK] 2009-05-15 16:26:28 [DEBUG] switch_core_state_machine.c:483 switch_core_session_run() (OpenZAP/2:1/1) State ROUTING going to sleep 2009-05-15 16:26:28 [DEBUG] switch_core_state_machine.c:397 switch_core_session_run() (OpenZAP/2:1/1) Running State Change CS_CONSUME_MEDIA 2009-05-15 16:26:28 [DEBUG] switch_core_state_machine.c:502 switch_core_session_run() (OpenZAP/2:1/1) State CONSUME_MEDIA 2009-05-15 16:26:28 [DEBUG] sofia.c:3001 sofia_handle_sip_i_state() Channel sofia/internal/1001@192.168.98.1 entering state [ready][200] 2009-05-15 16:26:58 [NOTICE] switch_ivr_originate.c:1957 switch_ivr_originate() Hangup OpenZAP/2:1/1 [CS_CONSUME_MEDIA] [NO_ANSWER] 2009-05-15 16:26:58 [DEBUG] switch_channel.c:1660 switch_channel_perform_hangup() Send signal OpenZAP/2:1/1 [KILL] 2009-05-15 16:26:58 [DEBUG] switch_core_session.c:933 switch_core_session_signal_state_change() Send signal OpenZAP/2:1/1 [BREAK] 2009-05-15 16:26:58 [DEBUG] switch_ivr_originate.c:2101 switch_ivr_originate() Originate Resulted in Error Cause: 19 [NO_ANSWER] 2009-05-15 16:26:58 [INFO] mod_dptools.c:2074 audio_bridge_function() Originate Failed. Cause: NO_ANSWER 2009-05-15 16:26:58 [NOTICE] switch_core_state_machine.c:179 switch_core_standard_on_execute() Hangup sofia/internal/1001@192.168.98.1 [CS_EXECUTE] [NORMAL_CLEARING] 2009-05-15 16:26:58 [DEBUG] switch_channel.c:1660 switch_channel_perform_hangup() Send signal sofia/internal/1001@192.168.98.1 [KILL] 2009-05-15 16:26:58 [DEBUG] switch_core_session.c:933 switch_core_session_signal_state_change() Send signal sofia/internal/1001@192.168.98.1 [BREAK] 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:490 switch_core_session_run() (sofia/internal/1001@192.168.98.1) State EXECUTE going to sleep 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:397 switch_core_session_run() (sofia/internal/1001@192.168.98.1) Running State Change CS_HANGUP 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:433 switch_core_session_run() (sofia/internal/1001@192.168.98.1) State HANGUP 2009-05-15 16:26:58 [DEBUG] mod_sofia.c:323 sofia_on_hangup() Channel sofia/internal/1001@192.168.98.1 hanging up, cause: NORMAL_CLEARING 2009-05-15 16:26:58 [DEBUG] mod_sofia.c:378 sofia_on_hangup() Sending BYE to sofia/internal/1001@192.168.98.1 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:46 switch_core_standard_on_hangup() sofia/internal/1001@192.168.98.1 Standard HANGUP, cause: NORMAL_CLEARING 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:433 switch_core_session_run() (sofia/internal/1001@192.168.98.1) State HANGUP going to sleep 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:475 switch_core_session_run() (sofia/internal/1001@192.168.98.1) State Change CS_HANGUP -> CS_REPORTING 2009-05-15 16:26:58 [DEBUG] switch_core_session.c:933 switch_core_session_signal_state_change() Send signal sofia/internal/1001@192.168.98.1 [BREAK] 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:397 switch_core_session_run() (sofia/internal/1001@192.168.98.1) Running State Change CS_REPORTING 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:607 switch_core_session_reporting_state() (sofia/internal/1001@192.168.98.1 ) State REPORTING 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:53 switch_core_standard_on_reporting() sofia/internal/1001@192.168.98.1 Standard REPORTING, cause: NORMAL_CLEARING 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:607 switch_core_session_reporting_state() (sofia/internal/1001@192.168.98.1 ) State REPORTING going to sleep 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:410 switch_core_session_run() (sofia/internal/1001@192.168.98.1) State Change CS_REPORTING -> CS_DESTROY 2009-05-15 16:26:58 [DEBUG] switch_core_session.c:1067 switch_core_session_thread() Session 1 (sofia/internal/1001@192.168.98.1) Locked, Waiting on external entities 2009-05-15 16:26:58 [NOTICE] switch_core_session.c:1085 switch_core_session_thread() Session 1 (sofia/internal/1001@192.168.98.1) Ended 2009-05-15 16:26:58 [NOTICE] switch_core_session.c:1087 switch_core_session_thread() Close Channel sofia/internal/1001@192.168.98.1 [CS_DESTROY] 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:559 switch_core_session_destroy_state() (sofia/internal/1001@192.168.98.1) State DESTROY 2009-05-15 16:26:58 [DEBUG] mod_sofia.c:240 sofia_on_destroy() sofia/internal/1001@192.168.98.1 SOFIA DESTROY 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:60 switch_core_standard_on_destroy() sofia/internal/1001@192.168.98.1 Standard DESTROY 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:559 switch_core_session_destroy_state() (sofia/internal/1001@192.168.98.1) State DESTROY going to sleep 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:502 switch_core_session_run() (OpenZAP/2:1/1) State CONSUME_MEDIA going to sleep 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:397 switch_core_session_run() (OpenZAP/2:1/1) Running State Change CS_HANGUP 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:433 switch_core_session_run() (OpenZAP/2:1/1) State HANGUP 2009-05-15 16:26:58 [DEBUG] mod_openzap.c:460 channel_on_hangup() Changing state on 2:1 from GENRING to HANGUP 2009-05-15 16:26:58 [DEBUG] mod_openzap.c:485 channel_on_hangup() OpenZAP/2:1/1 CHANNEL HANGUP 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:46 switch_core_standard_on_hangup() OpenZAP/2:1/1 Standard HANGUP, cause: NO_ANSWER 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:433 switch_core_session_run() (OpenZAP/2:1/1) State HANGUP going to sleep 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:475 switch_core_session_run() (OpenZAP/2:1/1) State Change CS_HANGUP -> CS_REPORTING 2009-05-15 16:26:58 [DEBUG] switch_core_session.c:933 switch_core_session_signal_state_change() Send signal OpenZAP/2:1/1 [BREAK] 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:397 switch_core_session_run() (OpenZAP/2:1/1) Running State Change CS_REPORTING 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:607 switch_core_session_reporting_state() (OpenZAP/2:1/1) State REPORTING 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:53 switch_core_standard_on_reporting() OpenZAP/2:1/1 Standard REPORTING, cause: NO_ANSWER 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:607 switch_core_session_reporting_state() (OpenZAP/2:1/1) State REPORTING going to sleep 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:410 switch_core_session_run() (OpenZAP/2:1/1) State Change CS_REPORTING -> CS_DESTROY 2009-05-15 16:26:58 [DEBUG] switch_core_session.c:1067 switch_core_session_thread() Session 2 (OpenZAP/2:1/1) Locked, Waiting on external entities 2009-05-15 16:26:58 [NOTICE] switch_core_session.c:1085 switch_core_session_thread() Session 2 (OpenZAP/2:1/1) Ended 2009-05-15 16:26:58 [NOTICE] switch_core_session.c:1087 switch_core_session_thread() Close Channel OpenZAP/2:1/1 [CS_DESTROY] 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:559 switch_core_session_destroy_state() (OpenZAP/2:1/1) State DESTROY 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:60 switch_core_standard_on_destroy() OpenZAP/2:1/1 Standard DESTROY 2009-05-15 16:26:58 [DEBUG] switch_core_state_machine.c:559 switch_core_session_destroy_state() (OpenZAP/2:1/1) State DESTROY going to sleep 2009-05-15 16:26:58 [DEBUG] ozmod_analog.c:410 zap_analog_channel_run() Executing state handler on 2:1 for HANGUP 2009-05-15 16:26:58 [DEBUG] ozmod_analog.c:351 zap_analog_channel_run() Changing state on 2:1 from HANGUP to DOWN 2009-05-15 16:26:58 [DEBUG] ozmod_analog.c:410 zap_analog_channel_run() Executing state handler on 2:1 for DOWN 2009-05-15 16:26:58 [DEBUG] mod_openzap.c:1262 on_fxs_signal() got FXS sig [STOP] 2009-05-15 16:26:58 [DEBUG] zap_io.c:1179 zap_channel_done() channel done 2:1 2009-05-15 16:26:58 [DEBUG] ozmod_analog.c:726 zap_analog_channel_run() ANALOG CHANNEL 2:1 thread ended.
When I pick up the phone attached to the FXS port, there is what sounds like a burst of data (caller ID?) and a series of about 10 clicks which end when FreeSWITCH closes the channel.
Is there something obvious I'm missing or should try? Or should I take this up with Sangoma? Any suggestions would be greatly appreciated.
I have tried all sorts of slight modifications to the relevant configuration files, with no change in the FXS port behavior, but they currently look like:
gentoo conf # cat openzap.conf [span wanpipe] name => OpenZAP number => 5000 fxo-channel => 1:1 number => 5000 fxo-channel => 1:2
[span wanpipe] name => OpenZAP number => 4165551111 fxs-channel => 1:3 number => 4165552222 fxs-channel => 1:4
gentoo conf # cat autoload_configs/openzap.conf.xml <configuration name="openzap.conf" description="OpenZAP Configuration"> <settings> <param name="debug" value="9"/> </settings> <analog_spans> <span id="1"> <param name="tonegroup" value="us"/> <param name="digit-timeout" value="2000"/> <param name="max-digits" value="11"/> <param name="dialplan" value="XML"/> <param name="context" value="default"/> <param name="enable-analog-option" value="3-way"/> <param name="moh" value="$${base_dir}/sounds/Dardedisco.wav"/> </span> <span id="2"> <param name="tonegroup" value="us"/> <param name="digit-timeout" value="2000"/> <param name="max-digits" value="11"/> <param name="dialplan" value="XML"/> <param name="context" value="default"/> </span> </analog_spans> </configuration>
gentoo conf # wanrouter hwprobe
------------------------------- | Wanpipe Hardware Probe Info | ------------------------------- 1 . AFT-A200-SH : SLOT=9 : BUS=1 : IRQ=16 : CPU=A : PORT=PRI : HWEC=32 : V=11
Card Cnt: A200=1
gentoo conf # cat /etc/wanpipe/wanpipe1.conf #================================================ # WANPIPE1 Configuration File #================================================ # # Date: Mon Jul 31 17:10:23 EDT 2006 # # Note: This file was generated automatically # by /usr/local/sbin/setup-sangoma program. # # If you want to edit this file, it is # recommended that you use wancfg program # to do so. #================================================ # Sangoma Technologies Inc. #================================================
[devices] wanpipe1 = WAN_AFT_ANALOG, Comment
[interfaces] w1g1 = wanpipe1, , TDM_VOICE_API, Comment
[wanpipe1] CARD_TYPE = AFT S514CPU = A CommPort = PRI AUTO_PCISLOT = NO PCISLOT = 9 PCIBUS = 1 FE_MEDIA = FXO/FXS TDMV_LAW = MULAW TDMV_OPERMODE = FCC RM_BATTTHRESH = 3 RM_BATTDEBOUNCE = 16 FE_NETWORK_SYNC = NO MTU = 1500 UDPPORT = 9000 TTL = 255 IGNORE_FRONT_END = NO TDMV_SPAN = 1 TDMV_HW_DTMF = YES TDMV_HW_FAX_DETECT = YES
[w1g1] ACTIVE_CH = ALL MTU = 8 TDMV_HWEC = YES
freeswitch@gentoo> oz list API CALL [oz(list)] output: +OK span: 1 (span1) type: analog chan_count: 2 dialplan: XML context: default dial_regex: fail_dial_regex: hold_music: analog_options 3way +OK span: 2 (span2) type: analog chan_count: 2 dialplan: XML context: default dial_regex: fail_dial_regex: hold_music: analog_options none
And here's what it looks like when FreeSWITCH starts:
2009-05-15 16:17:19 [DEBUG] zap_config.c:56 zap_config_open_file() Configuration file is /usr/local/freeswitch/conf/modules.conf. 2009-05-15 16:17:19 [NOTICE] zap_io.c:2609 zap_global_init() Modules configured: 1 2009-05-15 16:17:19 [DEBUG] zap_config.c:56 zap_config_open_file() Configuration file is /usr/local/freeswitch/conf/openzap.conf. 2009-05-15 16:17:19 [DEBUG] zap_io.c:2213 load_config() found config for span 2009-05-15 16:17:19 [INFO] zap_io.c:2430 zap_load_module() Loading IO from /usr/local/freeswitch/mod/ozmod_wanpipe.so [wanpipe] 2009-05-15 16:17:19 [DEBUG] zap_config.c:56 zap_config_open_file() Configuration file is /usr/local/freeswitch/conf/wanpipe.conf. 2009-05-15 16:17:19 [INFO] zap_io.c:2230 load_config() auto-loaded 'wanpipe' 2009-05-15 16:17:19 [DEBUG] zap_io.c:2251 load_config() created span 1 (span1) of type wanpipe 2009-05-15 16:17:19 [DEBUG] zap_io.c:2264 load_config() span 1 [name]=[OpenZAP] 2009-05-15 16:17:19 [DEBUG] zap_io.c:2264 load_config() span 1 [number]=[5000] 2009-05-15 16:17:19 [DEBUG] zap_io.c:2264 load_config() span 1 [fxo-channel]=[1:1] 2009-05-15 16:17:19 [DEBUG] zap_io.c:2293 load_config() setting trunk type to 'FXO' start(KEWL) 2009-05-15 16:17:19 [INFO] ozmod_wanpipe.c:207 wp_open_range() configuring device s1c1 as OpenZAP device 1:1 fd:37 DTMF: hardware 2009-05-15 16:17:19 [DEBUG] zap_io.c:2264 load_config() span 1 [number]=[5000] 2009-05-15 16:17:19 [DEBUG] zap_io.c:2264 load_config() span 1 [fxo-channel]=[1:2] 2009-05-15 16:17:19 [INFO] ozmod_wanpipe.c:207 wp_open_range() configuring device s1c2 as OpenZAP device 1:2 fd:38 DTMF: hardware 2009-05-15 16:17:19 [DEBUG] zap_io.c:2213 load_config() found config for span 2009-05-15 16:17:19 [DEBUG] zap_io.c:2251 load_config() created span 2 (span2) of type wanpipe 2009-05-15 16:17:19 [DEBUG] zap_io.c:2264 load_config() span 2 [name]=[OpenZAP] 2009-05-15 16:17:19 [DEBUG] zap_io.c:2264 load_config() span 2 [number]=[4165551111] 2009-05-15 16:17:19 [DEBUG] zap_io.c:2264 load_config() span 2 [fxs-channel]=[1:3] 2009-05-15 16:17:19 [DEBUG] zap_io.c:2304 load_config() setting trunk type to 'FXS' start(KEWL) 2009-05-15 16:17:19 [INFO] ozmod_wanpipe.c:207 wp_open_range() configuring device s1c3 as OpenZAP device 2:1 fd:39 DTMF: hardware 2009-05-15 16:17:19 [DEBUG] zap_io.c:2264 load_config() span 2 [number]=[4165552222] 2009-05-15 16:17:19 [DEBUG] zap_io.c:2264 load_config() span 2 [fxs-channel]=[1:4] 2009-05-15 16:17:19 [INFO] ozmod_wanpipe.c:207 wp_open_range() configuring device s1c4 as OpenZAP device 2:2 fd:40 DTMF: hardware 2009-05-15 16:17:19 [INFO] zap_io.c:2353 load_config() Configured 4 channel(s) 2009-05-15 16:17:19 [INFO] zap_io.c:2447 zap_load_module() Loading SIG from /usr/local/freeswitch/mod/ozmod_analog.so 2009-05-15 16:17:19 [INFO] zap_io.c:2563 zap_configure_span() auto-loaded 'analog' 2009-05-15 16:17:19 [DEBUG] zap_config.c:56 zap_config_open_file() Configuration file is /usr/local/freeswitch/conf/tones.conf. 2009-05-15 16:17:19 [DEBUG] zap_io.c:474 zap_span_load_tones() added tone generation [dial] = [v=-7;%(1000,0,350,440)] 2009-05-15 16:17:19 [DEBUG] zap_io.c:472 zap_span_load_tones() added tone detect [dial] = [350,440] 2009-05-15 16:17:19 [DEBUG] zap_io.c:474 zap_span_load_tones() added tone generation [ring] = [v=-7;%(2000,4000,440,480)] 2009-05-15 16:17:19 [DEBUG] zap_io.c:472 zap_span_load_tones() added tone detect [ring] = [440,480] 2009-05-15 16:17:19 [DEBUG] zap_io.c:474 zap_span_load_tones() added tone generation [busy] = [v=-7;%(500,500,480,620)] 2009-05-15 16:17:19 [DEBUG] zap_io.c:472 zap_span_load_tones() added tone detect [busy] = [480,620] 2009-05-15 16:17:19 [DEBUG] zap_io.c:474 zap_span_load_tones() added tone generation [attn] = [v=0;%(100,100,1400,2060,2450,2600)] 2009-05-15 16:17:19 [DEBUG] zap_io.c:472 zap_span_load_tones() added tone detect [attn] = [1400,2060,2450,2600] 2009-05-15 16:17:19 [DEBUG] zap_io.c:474 zap_span_load_tones() added tone generation [callwaiting-sas] = [v=0;%(300,0,440)] 2009-05-15 16:17:19 [DEBUG] zap_io.c:472 zap_span_load_tones() added tone detect [callwaiting-sas] = [440] 2009-05-15 16:17:19 [DEBUG] zap_io.c:474 zap_span_load_tones() added tone generation [callwaiting-cas] = [v=0;%(80,0,2750,2130)] 2009-05-15 16:17:19 [DEBUG] zap_io.c:472 zap_span_load_tones() added tone detect [callwaiting-cas] = [2750,2130] 2009-05-15 16:17:19 [DEBUG] zap_io.c:472 zap_span_load_tones() added tone detect [fail1] = [913.8] 2009-05-15 16:17:19 [DEBUG] zap_io.c:472 zap_span_load_tones() added tone detect [fail2] = [1370.6] 2009-05-15 16:17:19 [DEBUG] zap_io.c:472 zap_span_load_tones() added tone detect [fail3] = [776.7] 2009-05-15 16:17:19 [DEBUG] ozmod_analog.c:875 zap_analog_run() ANALOG thread starting. 2009-05-15 16:17:19 [DEBUG] zap_config.c:56 zap_config_open_file() Configuration file is /usr/local/freeswitch/conf/tones.conf. 2009-05-15 16:17:19 [DEBUG] zap_io.c:474 zap_span_load_tones() added tone generation [dial] = [v=-7;%(1000,0,350,440)] 2009-05-15 16:17:19 [DEBUG] zap_io.c:472 zap_span_load_tones() added tone detect [dial] = [350,440] 2009-05-15 16:17:19 [DEBUG] zap_io.c:474 zap_span_load_tones() added tone generation [ring] = [v=-7;%(2000,4000,440,480)] 2009-05-15 16:17:19 [DEBUG] zap_io.c:472 zap_span_load_tones() added tone detect [ring] = [440,480] 2009-05-15 16:17:19 [DEBUG] zap_io.c:474 zap_span_load_tones() added tone generation [busy] = [v=-7;%(500,500,480,620)] 2009-05-15 16:17:19 [DEBUG] zap_io.c:472 zap_span_load_tones() added tone detect [busy] = [480,620] 2009-05-15 16:17:19 [DEBUG] zap_io.c:474 zap_span_load_tones() added tone generation [attn] = [v=0;%(100,100,1400,2060,2450,2600)] 2009-05-15 16:17:19 [DEBUG] zap_io.c:472 zap_span_load_tones() added tone detect [attn] = [1400,2060,2450,2600] 2009-05-15 16:17:19 [DEBUG] zap_io.c:474 zap_span_load_tones() added tone generation [callwaiting-sas] = [v=0;%(300,0,440)] 2009-05-15 16:17:19 [DEBUG] zap_io.c:472 zap_span_load_tones() added tone detect [callwaiting-sas] = [440] 2009-05-15 16:17:19 [DEBUG] zap_io.c:474 zap_span_load_tones() added tone generation [callwaiting-cas] = [v=0;%(80,0,2750,2130)] 2009-05-15 16:17:19 [DEBUG] zap_io.c:472 zap_span_load_tones() added tone detect [callwaiting-cas] = [2750,2130] 2009-05-15 16:17:19 [DEBUG] zap_io.c:472 zap_span_load_tones() added tone detect [fail1] = [913.8] 2009-05-15 16:17:19 [DEBUG] zap_io.c:472 zap_span_load_tones() added tone detect [fail2] = [1370.6] 2009-05-15 16:17:19 [DEBUG] zap_io.c:472 zap_span_load_tones() added tone detect [fail3] = [776.7] 2009-05-15 16:17:19 [DEBUG] ozmod_analog.c:875 zap_analog_run() ANALOG thread starting. 2009-05-15 16:17:19 [CONSOLE] switch_loadable_module.c:889 switch_loadable_module_load_file() Successfully Loaded [mod_openzap] 2009-05-15 16:17:19 [NOTICE] switch_loadable_module.c:142 switch_loadable_module_process() Adding Endpoint 'openzap' 2009-05-15 16:17:19 [NOTICE] switch_loadable_module.c:248 switch_loadable_module_process() Adding Application 'disable_ec' 2009-05-15 16:17:19 [NOTICE] switch_loadable_module.c:270 switch_loadable_module_process() Adding API Function 'oz'
____
Ah! I was looking at the dates not the version numbers on their site. The beta is listed as 2008-xx-yy and the stable 2009-xx-yy, so I grabbed what I thought was the newer one. Once I rebuilt everything, FXO and FXS are both working. FYI: The last commit to ozmod_wanpipe.c broke it for Linux, but I expect someone will notice this out soon enough. I had to back down to the previous revision to compile: Index: ozmod_wanpipe.c =================================================================== --- ozmod_wanpipe.c (revision 733) +++ ozmod_wanpipe.c (revision 732) @@ -36,35 +36,10 @@ #include <stropts.h> #endif #include "openzap.h" -#ifndef __WINDOWS__ #include <poll.h> #include <sys/socket.h>... -#endif #include "libsangoma.h" -#if defined(__WINDOWS__) -/*! Backward compatible defines - current code is all using the old names*/ -#define sangoma_open_tdmapi_span_chan sangoma_open_api_span_chan -#define sangoma_open_tdmapi_span sangoma_open_api_span -#define sangoma_open_tdmapi_ctrl sangoma_open_api_ctrl -#define sangoma_tdm_get_fe_status sangoma_get_fe_status -#define sangoma_socket_close sangoma_close -#define sangoma_tdm_get_hw_coding sangoma_get_hw_coding -#define sangoma_tdm_set_fe_status sangoma_set_fe_status -#define sangoma_tdm_get_link_status sangoma_get_link_status -#define sangoma_tdm_flush_bufs sangoma_flush_bufs -#define sangoma_tdm_cmd_exec sangoma_cmd_exec -#define sangoma_tdm_read_event sangoma_read_event -#define sangoma_readmsg_tdm sangoma_readmsg -#define sangoma_readmsg_socket sangoma_readmsg -#define sangoma_sendmsg_socket sangoma_writemsg -#define sangoma_writemsg_tdm sangoma_writemsg -#define sangoma_create_socket_intr sangoma_open_api_span_chan -#define EX_DECLARE_DATA __declspec(dllexport) -#else -WP_DECLARE_DATA -#endif - typedef enum { WP_RINGING = (1 << 0) } wp_flag_t; @@ -874,7 +849,7 @@ } -EX_DECLARE_DATA zap_module_t zap_module = { +zap_module_t zap_module = { "wanpipe", wanpipe_init, wanpipe_destroy, Michael Jerris wrote:
try the 3.5.2 drivers.
Mike
sorry about the typo in that commit, this is fixed in tree now. Mike On May 15, 2009, at 4:06 PM, Brian Wood wrote:
Ah! I was looking at the dates not the version numbers on their site. The beta is listed as 2008-xx-yy and the stable 2009-xx-yy, so I grabbed what I thought was the newer one.
Once I rebuilt everything, FXO and FXS are both working.
FYI: The last commit to ozmod_wanpipe.c broke it for Linux, but I expect someone will notice this out soon enough. I had to back down to the previous revision to compile:
Index: ozmod_wanpipe.c =================================================================== --- ozmod_wanpipe.c (revision 733) +++ ozmod_wanpipe.c (revision 732) @@ -36,35 +36,10 @@ #include <stropts.h> #endif #include "openzap.h" -#ifndef __WINDOWS__ #include <poll.h> #include <sys/socket.h>...
-#endif #include "libsangoma.h"
-#if defined(__WINDOWS__) -/*! Backward compatible defines - current code is all using the old names*/ -#define sangoma_open_tdmapi_span_chan sangoma_open_api_span_chan -#define sangoma_open_tdmapi_span sangoma_open_api_span -#define sangoma_open_tdmapi_ctrl sangoma_open_api_ctrl -#define sangoma_tdm_get_fe_status sangoma_get_fe_status -#define sangoma_socket_close sangoma_close -#define sangoma_tdm_get_hw_coding sangoma_get_hw_coding -#define sangoma_tdm_set_fe_status sangoma_set_fe_status -#define sangoma_tdm_get_link_status sangoma_get_link_status -#define sangoma_tdm_flush_bufs sangoma_flush_bufs -#define sangoma_tdm_cmd_exec sangoma_cmd_exec -#define sangoma_tdm_read_event sangoma_read_event -#define sangoma_readmsg_tdm sangoma_readmsg -#define sangoma_readmsg_socket sangoma_readmsg -#define sangoma_sendmsg_socket sangoma_writemsg -#define sangoma_writemsg_tdm sangoma_writemsg -#define sangoma_create_socket_intr sangoma_open_api_span_chan -#define EX_DECLARE_DATA __declspec(dllexport) -#else -WP_DECLARE_DATA -#endif - typedef enum { WP_RINGING = (1 << 0) } wp_flag_t; @@ -874,7 +849,7 @@ }
-EX_DECLARE_DATA zap_module_t zap_module = { +zap_module_t zap_module = { "wanpipe", wanpipe_init, wanpipe_destroy,
Michael Jerris wrote:
try the 3.5.2 drivers.
Mike
_
participants (2)
-
Brian Wood
-
Michael Jerris