@@ -55,75 +55,76 @@ func handle(s *OutboundServer) {
55
55
56
56
for {
57
57
58
- conn := <- s. Conns
58
+ select {
59
59
60
- Notice (" New incomming connection: %v " , conn)
60
+ case conn := <- s.Conns :
61
+ Notice (" New incomming connection: %v " , conn)
61
62
62
- if err := conn.Connect (); err != nil {
63
- Error (" Got error while accepting connection: %s " , err)
64
- break
65
- }
66
-
67
- answer , err := conn.ExecuteAnswer (" " , false )
63
+ if err := conn.Connect (); err != nil {
64
+ Error (" Got error while accepting connection: %s " , err)
65
+ break
66
+ }
68
67
69
- if err != nil {
70
- Error (" Got error while executing answer: %s " , err)
71
- break
72
- }
68
+ answer , err := conn.ExecuteAnswer (" " , false )
73
69
74
- Debug (" Answer Message: %s " , answer)
75
- Debug (" Caller UUID: %s " , answer.GetHeader (" Caller-Unique-Id" ))
70
+ if err != nil {
71
+ Error (" Got error while executing answer: %s " , err)
72
+ break
73
+ }
76
74
77
- cUUID := answer.GetCallUUID ()
75
+ Debug (" Answer Message: %s " , answer)
76
+ Debug (" Caller UUID: %s " , answer.GetHeader (" Caller-Unique-Id" ))
78
77
79
- if te , err := conn.ExecuteSet (" tts_engine" , " flite" , false ); err != nil {
80
- Error (" Got error while attempting to set tts_engine: %s " , err)
81
- } else {
82
- Debug (" TTS Engine Msg: %s " , te)
83
- }
78
+ cUUID := answer.GetCallUUID ()
84
79
85
- if tv , err := conn.ExecuteSet (" tts_voice " , " slt " , false ); err != nil {
86
- Error (" Got error while attempting to set tts_voice : %s " , err)
87
- } else {
88
- Debug (" TTS Voice Msg: %s " , tv )
89
- }
80
+ if te , err := conn.ExecuteSet (" tts_engine " , " flite " , false ); err != nil {
81
+ Error (" Got error while attempting to set tts_engine : %s " , err)
82
+ } else {
83
+ Debug (" TTS Engine Msg: %s " , te )
84
+ }
90
85
91
- if sm , err := conn.Execute (" speak" , goeslMessage, true ); err != nil {
92
- Error (" Got error while executing speak: %s " , err)
93
- break
94
- } else {
95
- Debug (" Speak Message: %s " , sm)
96
- }
86
+ if tv , err := conn.ExecuteSet (" tts_voice" , " slt" , false ); err != nil {
87
+ Error (" Got error while attempting to set tts_voice: %s " , err)
88
+ } else {
89
+ Debug (" TTS Voice Msg: %s " , tv)
90
+ }
97
91
98
- if hm , err := conn.ExecuteHangup (cUUID, " " , false ); err != nil {
99
- Error (" Got error while executing hangup : %s " , err)
100
- break
101
- } else {
102
- Debug (" Hangup Message: %s " , hm )
103
- }
92
+ if sm , err := conn.Execute ( " speak " , goeslMessage, true ); err != nil {
93
+ Error (" Got error while executing speak : %s " , err)
94
+ break
95
+ } else {
96
+ Debug (" Speak Message: %s " , sm )
97
+ }
104
98
105
- done := make (chan bool )
99
+ if hm , err := conn.ExecuteHangup (cUUID, " " , false ); err != nil {
100
+ Error (" Got error while executing hangup: %s " , err)
101
+ break
102
+ } else {
103
+ Debug (" Hangup Message: %s " , hm)
104
+ }
106
105
107
- go func () {
108
- for {
109
- msg , err := conn.ReadMessage ()
106
+ go func () {
107
+ for {
108
+ msg , err := conn.ReadMessage ()
110
109
111
- if err != nil {
110
+ if err != nil {
112
111
113
- // If it contains EOF, we really dont care...
114
- if !strings.Contains (err.Error (), " EOF" ) {
115
- Error (" Error while reading Freeswitch message: %s " , err)
112
+ // If it contains EOF, we really dont care...
113
+ if !strings.Contains (err.Error (), " EOF" ) {
114
+ Error (" Error while reading Freeswitch message: %s " , err)
115
+ }
116
+ break
116
117
}
117
118
118
- done <- true
119
- break
119
+ Debug (" %s " , msg.Dump ())
120
120
}
121
+ }()
121
122
122
- Debug ( " %s " , msg. Dump ())
123
- }
124
- }()
125
-
126
- <- done
123
+ default :
124
+ // YabbaDabbaDooooo!
125
+ // Flintstones. Meet the Flintstones. They're the modern stone age family. From the town of Bedrock,
126
+ // They're a page right out of history. La la,lalalalala la :D
127
+ }
127
128
}
128
129
129
130
}
0 commit comments